ถอนการติดตั้ง GRUB จากแล็ปท็อป UEFI


9

ฉันติดตั้ง Ubuntu พร้อมกับ Windows 8 แต่ตัดสินใจเลิกติดตั้ง Ubuntu แล้ว

ก่อนอื่นฉันบูทเข้าไปใน Parted Magic และใช้ GParted ลบพาร์ติชั่น ext4 และ swap ทั้งหมด

สิ่งนี้ทำให้ฉันมีพาร์ทิชันเดียวกันกับที่ฉันเคยติดตั้ง Ubuntu:

/dev/sda1 ntfs WINRE_DRV
/dev/sda2 fat32 SYSTEM_DRV (my UEFI partition)
/dev/sda3 fat32 LRS_ESP
/dev/sda4 unknown Microsoft Reserved Partition
/dev/sda5 ntfs Windows8_OS
/dev/sda6 ntfs LENOVO
/dev/sda7 ntfs PBR_DRV

ฉันคาดว่าจะลบพาร์ติชั่นจะเพียงพอที่จะลบ Ubuntu และอนุญาตให้ฉันบูตกลับเข้าสู่ Windows 8 อย่างไรก็ตามเมื่อใดก็ตามที่ฉันบูตฉันได้รับข้อผิดพลาดต่อไปนี้:

error: no such partition.

ซึ่งตามด้วย GRUB rescue:

grub rescue>

ในพาร์ทิชัน UEFI ของฉันมีสองไดเรกทอรีและBOOT EFIในBOOTเป็นไฟล์เดียว boot.sdi- ในEFIไดเรกทอรีเป็นอีกสองไดเรกทอรีและBOOT Microsoftข้างในBOOTเป็นสองไฟล์bkpbootx64.efiและbootx64.efi. ไดเรกทอรีมีไดเรกทอรีในนั้นชื่อMicrosoft Bootข้างในเป็นไฟล์ Microsoft EFI ปกติ (เท่าที่ฉันจะบอกได้)

เมื่อคิดว่ายังมีไฟล์ด้วงเหลืออยู่ฉันจึงรันfind . -iname "*grb*"และfind . -iname "*grub*"ในพาร์ติชัน UEFI แต่พบไฟล์ว่างเพียงไฟล์เดียวเท่านั้นbootx64.efi.grb(ซึ่งฉันลบ)

GRUB ยังคงติดตั้งอย่างไรและฉันจะถอนการติดตั้งได้อย่างไร

ฉันค่อนข้างใหม่สำหรับ UEFI และสิ่งต่าง ๆ อาจต้องอธิบายอย่างละเอียด คอมพิวเตอร์คือ Lenovo IdeaPad Z580

แก้ไข: ฉันลืมที่จะพูดถึงฉันลบubuntuโฟลเดอร์ในพาร์ทิชัน UEFI

แก้ไข 2: ฉันจัดการเพื่อกลับสู่ Windows ผ่านตัวเลือก "การกู้คืนระบบ" ในการตั้งค่า BIOS ของแล็ปท็อป สิ่งนี้อาจหรืออาจจะไม่ได้แก้ไขปัญหา

แก้ไข 3: โอเคฉันสามารถบูตได้เกือบปกติแล้ว เมื่อฉันบูตฉันเห็นNo partition activeสองสามวินาทีจากนั้นบู๊ต Windows ฉันจะลบออกได้อย่างไร

คำตอบ:


28

ฉันรู้ว่าคุณได้แก้ไขปัญหาแล้ว แต่ฉันต้องการชี้ให้เห็นว่ามีอะไรผิดพลาดและควรแก้ไขอย่างไร (ทั้งโดยผู้ใช้ทั่วไปและโดยนักพัฒนาของ Ubuntu)

ก่อนอื่นนักพัฒนาของ Ubuntu ได้ตัดสินใจอย่างไม่เต็มใจที่จะสร้างการกำหนดค่า GRUB ที่ต้องอาศัยไฟล์ใน/พาร์ติชั่นรูท Ubuntu และรวมถึงEFI System Partition (ESP) สิ่งนี้ทำให้ GRUB เสี่ยงต่อการลบหรือความเสียหายต่อพาร์ติชัน Linux และทำให้ยากต่อการบูตคอมพิวเตอร์หลังจากลบ Ubuntu หรือหากการติดตั้ง Ubuntu เสียหายในบางวิธี ช่องโหว่นี้ไม่จำเป็น เป็นไปได้ที่จะกำหนดค่า GRUB เพื่อค้นหาไฟล์สนับสนุนและการตั้งค่าทั้งหมดใน ESP หาก GRUB ได้รับการกำหนดค่าด้วยวิธีนี้ (เช่นเดียวกับ Fedora) การลบ Ubuntu จะไม่ส่งผลต่อความสามารถของ GRUB ในการเปลี่ยนเส้นทางไปยัง Windows ระบบจะยังคงบูตผ่าน GRUB แต่อย่างน้อยก็ยังคงบูตอยู่ ดังนั้นน่าเสียดายที่ Ubuntu ตั้งค่าด้วงผิดวิธี

อย่างที่สองจากชื่อไฟล์ที่คุณพูดถึงดูเหมือนว่าคุณจะเรียกใช้เครื่องมือซ่อมแซมการบูตของ Ubuntu ในบางครั้ง เครื่องมือนี้จะเปลี่ยนชื่อบูตเดอร์ของ Windows โดยอัตโนมัติEFI/Microsoft/Boot/bootmgfw.efiและวางสำเนาของ GRUB ไว้ในตำแหน่ง มันทำสิ่งเดียวกันกับ EFI fallback boot loader, EFI/BOOT/bootx64.efiและทำสำเนา GRUB อีกอันไว้ในEFI/Microsoft/Boot/bootx64.efiนั้น, ด้วยเหตุผลที่ฉันไม่อ้างว่าเข้าใจ. นี่เป็นวิธีแก้ปัญหาสำหรับข้อบกพร่องในกำมือของ EFIs ปัญหาคือการซ่อมแซมการบูตทำตามค่าเริ่มต้น ในคอมพิวเตอร์ส่วนใหญ่มันไม่ได้เป็นจำเป็น เมื่อภายหลังเป็นที่พึงปรารถนาที่จะเปลี่ยนแปลงการกำหนดค่าการบูตการเปลี่ยนชื่อและการจำลองแบบของ GRUB นี้จะกลายเป็นความซับซ้อนเนื่องจากผู้ใช้คาดเดาว่าจะเกิดอะไรขึ้น ดังนั้นความอัปยศของนักพัฒนา Boot Repair ที่ไม่แน่นอนเกี่ยวกับการซ่อมแซม (ในการป้องกันของพวกเขามันจะเป็นเรื่องยากมากสำหรับ Boot Repair ที่จะตรวจสอบได้อย่างแม่นยำว่าคอมพิวเตอร์เครื่องใดมีข้อบกพร่องที่ต้องย้ายไฟล์บูตในลักษณะที่เป็นค่าเริ่มต้น)

อีกประเด็นหนึ่งที่สำคัญ: ในระบบ EFI ที่ใช้งานได้อย่างเหมาะสมรายการโปรแกรมบูตจะถูกเก็บไว้ใน NVRAM EFI ลองแต่ละโปรแกรมในรายการนี้ตามลำดับ หากล้มเหลวหรือขาดหายไปหนึ่งพยายามถัดไป เมื่อ Ubuntu ติดตั้งจะเพิ่ม GRUB เวอร์ชันไว้ที่ด้านบนสุดของรายการ EFIs ส่วนใหญ่ยังช่วยให้ผู้ใช้สามารถระบุโปรแกรมบู๊ตที่จะใช้จากตัวจัดการการบูตในตัว แต่ตัวจัดการการบูตในตัวนี้มีความสำคัญต่อ EFI ส่วนใหญ่

สรุปปัจจัยเหล่านี้ทั้งหมดและทางออกที่ง่ายที่สุดสำหรับปัญหาดั้งเดิมจะกลายเป็น:

  1. เลิกทำการเปลี่ยนแปลงเครื่องมือซ่อมแซม Boot สิ่งนี้สามารถทำได้โดยใช้เครื่องมือซ่อมแซมการบู๊ตเอง มันมีเมนูตัวเลือกขั้นสูงพร้อมกล่องกาเครื่องหมายเรียกว่า "กู้คืนข้อมูลสำรอง EFI" ใช้สิ่งนั้นและ GRUB หลายชุดจะถูกลบออกและตัวบูตการบูตของ Windows จะถูกกู้คืน หรือสามารถทำได้ด้วยตนเอง สิ่งสำคัญที่สุดคือการสำรองข้อมูลของbootmgfw.efi(อาจจะเรียกว่าbkpbootmgfw.efiแม้ว่าบางรุ่นของ Boot Repair ได้ใช้ชื่ออื่น ๆ ) ควรจะคัดลอกไปEFI/Microsoft/Boot/bootmgfw.efiยัง ESP
  2. ลบ GRUB ในตำแหน่งอย่างเป็นทางการ / เหมาะสม - EFI/ubuntu/grubx64.efiสำหรับ Ubuntu หาก Secure Boot เปิดใช้งานอยู่การลบEFI/ubuntu/shimx64.efiจะมีความจำเป็นแทน อันที่จริงการลบEFI/ubuntuไดเรกทอรีทั้งหมดหรืออย่างน้อยก็เปลี่ยนชื่อมันจะทำงานในกรณีใด ๆ

แค่นั้นแหละ. เมื่อสองสิ่งนี้สำเร็จ EFI จะข้ามตัวเลือกการบูตของ Ubuntu เนื่องจากไม่สามารถใช้งานได้อีกต่อไปและจะเริ่มการบูต Windows EFIs บางตัวจะลบตัวเลือกการบูตของ Ubuntu ออกจากเมนูของผู้จัดการการบูตโดยอัตโนมัติเช่นกันแม้ว่าการฝึกนี้จะไม่เป็นสากล

โปรดสังเกตว่าในกรณีของคุณแมทธิวฉันไม่แนะนำให้ทำสิ่งเหล่านี้ คุณมีการกำหนดค่าที่ใช้งานได้และอย่างที่พวกเขาพูดว่า "หากยังไม่พังก็ไม่ต้องแก้ไข" คุณอาจมีไฟล์หลงทางไม่กี่ตัวที่เหลืออยู่ใน ESP ของคุณ แต่ไฟล์เหล่านั้นไม่ได้ทำอันตรายใด ๆ ฉันแสดงคำตอบด้วยความหวังว่าคนอื่นจะพบว่ามีประโยชน์


แก้ไข:ข้างต้นถูกต้องเมื่อฉันเขียนมันครั้งแรกและหลักการยังคงเหมือนเดิม; อย่างไรก็ตาม Boot Repair จะไม่เปลี่ยนชื่อบูต Windows โดยอัตโนมัติอีกต่อไปและแทนที่ด้วย GRUB อื่น (Boot Repair สามารถทำสิ่งนี้ได้ตามต้องการแต่ตัวเลือกถูกฝังอยู่ในเมนูตัวเลือกขั้นสูงดังนั้นจึงไม่ได้ทำตามค่าเริ่มต้นอีกต่อไป) ความจริงข้อนี้ทำให้การกู้คืนจากปัญหานี้ง่ายขึ้นกว่าในปี 2013 ในกรณีส่วนใหญ่ ลบEFI/ubuntuไดเรกทอรีบน ESP เพื่อให้ระบบบูตโดยตรงไปยัง Windows หาก GRUB ยังคงปรากฏขึ้นหลังจากที่คุณทำเช่นนี้คุณอาจใช้ตัวเลือก Boot Repair เพื่อสำรองและเปลี่ยนชื่อไฟล์การบูตซึ่งในกรณีนี้การใช้มันเพื่อเลิกทำการกระทำเหล่านั้นเป็นไปตามที่ระบุไว้ก่อนหน้านี้

อีกตัวเลือกหนึ่งคือการใช้ตัวจัดการการบูตในตัวคอมพิวเตอร์ (โดยปกติแล้วจะเข้าถึงได้โดยกดปุ่มฟังก์ชั่น Esc หรือ Enter ทันทีหลังจากที่คุณเปิดเครื่องคอมพิวเตอร์) เพื่อเลี่ยงผ่าน GRUB และบูตไปยัง Windows จากนั้นคุณสามารถใช้EasyUEFIเพื่อปรับลำดับการบู๊ตและ / หรือลบubuntuรายการออกจากรายการบูต การกระทำนี้จะไม่ลบ GRUB ออกจาก ESP แต่จะข้าม GRUB


ขอบคุณสำหรับคำตอบนี้! มันอธิบายปัญหาได้ดีมาก ฉันใช้งาน Boot Boot แล้ว แต่ลืมใส่ไว้ในคำถามนี้ ฉันทำเครื่องหมายคำตอบนี้เป็นคำตอบเนื่องจากจะช่วยคนในอนาคตได้อย่างแน่นอนและเป็นวิธีที่ดีกว่าในการแก้ไขปัญหา
Torvero

ฉันมาสาย แต่ฉันจะถามอะไรต่อ คุณบอกว่ามันมาแทนที่ EFI bootloader ที่เป็นค่าเริ่มต้นด้วย GRUB มีวิธีกู้คืนหรือไม่หากว่ามันยังคงถูกแทนที่ด้วยตัวติดตั้ง Ubuntu 18.04?
โซอี้

3

ฉันรู้ว่าหัวข้อนี้เก่า แต่ฉันเจอในการค้นหาของฉันเองเมื่อพยายามแก้ปัญหานี้ด้วยตัวเองและฉันพบวิธีแก้ปัญหาที่เหมาะกับฉันเมื่อไม่มีคำตอบอื่นใดที่ฉันต้องการแชร์!

ฉันติดตั้ง Ubuntu แบบดูอัลบูทบนแล็ปท็อปของฉันพร้อมกับ Windows 10 ฉันตัดสินใจลบ Ubuntu ออกและได้ลบพาร์ติชั่นแล้ว แต่ด้วงยังคงขัดจังหวะตัวโหลดบูต หลังจากลองคำแนะนำมากมายที่ยังเหลืออยู่ในฟอรั่มในที่สุดฉันก็เจอวิธีที่ง่ายและกราฟิกที่จะลบออกใน lol ของฉันเอง (ดังนั้นข้อจำกัดความรับผิดชอบฉันไม่รู้ว่า Windows รุ่นอื่นมีตัวเลือกนี้หรือไม่)

แต่ทั้งหมดที่ฉันทำคือF12ในขณะที่คอมพิวเตอร์กำลังบู๊ตเพื่อเข้าสู่ตัวเลือกการบูต และอยู่ภายใต้ตัวเลือกอื่น ๆฉันเลือกการตั้งค่า BIOS ทางด้านซ้ายมือฉันเลือกBoot Sequenceและตรงนั้นมันแสดงรายการตัวเลือกการบูตที่แตกต่างกันของฉันและฉันสามารถเลือกพวกเขาเพื่อเปลี่ยนลำดับหรือลบออกหรืออะไรก็ได้ที่ฉันต้องการ สิ่งที่ฉันต้องทำก็คือตรวจสอบให้แน่ใจว่ามีการทำเครื่องหมายเฉพาะ "อูบุนตู" เท่านั้นจากนั้นฉันคลิกลบการบูตและออก มันยังคงอยู่ในหน้าจอเข้าสู่ระบบและฉันรีสตาร์ทแล็ปท็อปของฉันเพียงเพื่อตรวจสอบอีกครั้งมันแก้ไขปัญหาของฉันและมันก็มี!


ดูเหมือนว่าอินเทอร์เน็ตเต็มไปด้วยโซลูชั่นที่ไม่ใช่ uefi แต่นี่ใช้งานได้!
Peter Lehnhardt

1

เอาล่ะเพื่อให้นี้จะไม่ทำงานสำหรับคอมพิวเตอร์ผมถือว่าทุกครั้ง แต่นี่คือสิ่งที่คงที่มันสำหรับฉัน

ก่อนอื่นฉันบูทเป็น "การกู้คืนระบบ" ผ่านตัวเลือก BIOS บนแล็ปท็อปของฉัน สิ่งนี้ทำให้ฉันได้รับใน Windows แต่เมื่อใดก็ตามที่ฉันบูตหลังจากนั้นฉันได้รับข้อความบอกว่าNo partition activeหนึ่งวินาทีก่อนที่ Windows จะบู๊ต ฉันได้กำจัดสิ่งนี้โดยทำสิ่งต่อไปนี้:

  1. กำลังบูตเข้าสู่ Windows
  2. SHIFT + คลิก "รีสตาร์ท"
  3. การแก้ไขปัญหา
  4. สูง
  5. พร้อมรับคำสั่ง
  6. วิ่ง bootrec.exe /fixmbr

และรีบูตเครื่อง ตอนนี้ข้อความไม่ปรากฏอีกต่อไปและทุกอย่างดูเหมือนปกติ


1

สิ่งที่ฉันทำคือหลังจากถอนการติดตั้ง Ubuntu คุณสามารถทำได้ด้วยตัวถอนการติดตั้งบางตัวหรือเพียงแค่บูตเข้าสู่ Ubuntu live CD หรือ USB stick และจัดรูปแบบพาร์ติชัน Linux ด้วย GParted - ฉันฟอร์แมตพาร์ติชัน EFI เช่นกัน (FAT32) การกู้คืนการบูต Windows จากดิสก์การติดตั้ง Windows

ฉันต้องพูดถึงฉันอ่านคำแนะนำและแบบฝึกหัดหลายสิบคำและเสียเวลากับวิธีที่ใช้ไม่ได้ผล ในที่สุดฉันก็ทำสิ่งเดียวที่ดูเหมือนว่าฉันจะติดตั้ง windows 4 และมันก็ทำงานได้อย่างมีเสน่ห์


1

บน Surface Pro เป็นไปได้ที่จะหลีกเลี่ยง Grub 2 โดยเลือกตัวเลือก "ติดตั้งคีย์บูตปลอดภัย" จากเมนู UEFI


คุณอาจจะต้องทำตัวไม่ดีกับตัวเลือกที่นอกเหนือจากนี้ - ฉันคิดว่าฉันต้องพูดอะไรบางอย่างเช่น "อนุญาตให้ใช้ปุ่ม Windows" เท่านั้น ฉันยังคงได้รับข้อความเกี่ยวกับการกำหนดค่าการบูตที่ไม่ถูกต้อง แต่มันจะยังคงบูตหลังจาก
bbarker
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.