ฉันจะเรียกใช้ update-grub จาก LiveCD ได้อย่างไร


62

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

ดังนั้นฉันแค่ต้องการเรียกใช้ "sudo upgrade-grub" เพื่อคืนค่า Ubuntu ไปยังรายการ ฉันสามารถบูตจาก LiveCD แต่เมื่อมีฉันจะเรียกใช้คำสั่งนั้นได้อย่างไร (การติดตั้ง Ubuntu ของฉันใช้ sda5 โดยวิธี)


มันทำงานได้อย่างสมบูรณ์แบบ ... มันเป็นเพียง 2 วันที่ผ่านมา
Nirmik

ที่หัวข้อนี้ต้องการชี้ไปที่ - ที่คำสั่ง 12.10 update-grub ไม่ทำงานกับ grub <2.0?! - ตัวฉันเองเมื่อสุดสัปดาห์ที่แล้วติดตั้งติดตั้ง 12.10 (ลูกแพร์ OS 7.0.1) ด้วย grub-install และ update-grub ไม่ทำงาน - ต้องช่วยชีวิตด้วย supergrub-CD ...
dschinn1001

คำตอบ:


81

เนื่องจากคุณบอกว่า bootloader grub ของคุณปรากฏขึ้น แต่เมนูนั้นว่างเปล่าฉันคิดว่าคุณไม่จำเป็นต้องติดตั้งด้วงใหม่ แต่อย่างที่คุณถามให้เรียกใช้ update-grub เพื่อให้บรรลุผลดังกล่าวคุณสามารถใช้ Live CD ติดตั้งพาร์ติชันที่เกี่ยวข้องจากฮาร์ดดิสก์ของคุณ chroot ลงในไดเรกทอรีที่เมานต์และเรียกใช้ update-grub ซึ่งควรทำงานเสมือนว่าคุณใช้งานบนฮาร์ดดิสก์จริง

บูตด้วย Live CD ของคุณเลือก "ลอง Ubuntu โดยไม่ต้องติดตั้ง"

เมื่อบู๊ตเครื่องแล้วให้เปิดเทอร์มินัล (ctrl-alt-t) แล้วติดตั้งพาร์ติชัน Ubuntu ของคุณบน / mnt ฉันสมมติว่าพาร์ติชัน Ubuntu คือ / dev / sda5 แต่คุณควรพิจารณาด้วยตัวคุณเอง แจ้งให้เราทราบหากคุณต้องการความช่วยเหลือในการทำสิ่งนี้:

sudo mount /dev/sda5 /mnt

จากนั้นเมานต์ไดเร็กทอรีเพิ่มเติมที่จำเป็น:

sudo mount --bind /dev /mnt/dev
sudo mount --bind /sys /mnt/sys
sudo mount --bind /proc /mnt/proc

นอกจากนี้หากคุณมีพาร์ติชันสำหรับเริ่มระบบ Ubuntu ที่แยกต่างหาก (ค่อนข้างแปลกในทุกวันนี้ แต่อาจเป็นกรณีนี้):

sudo mount /dev/sdaX /mnt/boot

คุณจะบอกได้อย่างไรว่าคุณมีพาร์ติชั่นสำหรับบูตหรือไม่?

/mnt/etc/fstabเมื่อคุณมีพาร์ทิชันอูบุนตูติดเปิด หากคุณเห็นรายการให้/bootสังเกตอุปกรณ์ที่ชี้ไป ( /dev/sda4อาจ?) นี่คือสิ่งที่คุณต้องติดตั้ง

เมื่อสิ่งเหล่านี้ถูกเมาท์ให้ทำ chroot เพื่อเริ่มใช้ไดเร็กทอรีที่เมาท์เป็นพาร์ติชันรูท:

sudo chroot /mnt

คุณจะได้รับ#/พรอมต์ สิ่งแรกที่ต้องทำคือยืนยันว่าคุณใช้/bootไดเรกทอรีที่ถูกต้อง ไปที่/boot/grubและดูไฟล์ที่นั่น ควรมีไฟล์. mod และไฟล์ grub.cfg หากไดเรกทอรีว่างเปล่าอย่าดำเนินการต่อเพราะหมายความว่านี่ไม่ใช่bootไดเรกทอรีจริงของคุณ ดูด้านบนเพื่อดูวิธีการตรวจสอบว่าคุณจำเป็นต้องติดตั้งbootไดเรกทอรีเพิ่มเติม

เมื่อคุณยืนยันว่า/boot/มีไฟล์ที่ถูกต้องหมายความว่าเป็นตำแหน่งที่ถูกต้องให้พิมพ์:

sudo update-grub

สิ่งนี้ควรสร้างไฟล์ /boot/grub/grub.cfg ของคุณใหม่ด้วยรายการเมนู

จากนั้นออกจาก chroot:

exit

ณ จุดนี้คุณอาจต้องการตรวจสอบว่าสิ่งต่าง ๆ ได้รับการปรับปรุงอย่างถูกต้อง สำหรับสิ่งนี้cd /mnt/boot/grubและตรวจสอบว่ามีไฟล์ของ grub อยู่หรือไม่ควรมีไฟล์. mod และ grub.cfg อยู่กลุ่มหนึ่งควรมีรายการสำหรับเมล็ด Ubuntu ของคุณ หากคุณเห็นเฉพาะ grub.cfg และไม่มีไฟล์. mod ก็หมายความว่านี่ไม่ใช่ไดเรกทอรีบูตที่ถูกต้องให้ดูวิธีติดตั้งพาร์ติชันสำหรับบูตแยกต่างหาก

ถอนติดตั้งระบบไฟล์:

sudo umount /mnt/dev
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/boot #Only if you mounted it earlier
sudo umount /mnt/

จากนั้นรีบูทหวังว่าเมนู Grub ของคุณจะถูกกู้คืน


เมื่อฉันพยายามเรียกใช้คำสั่ง mount ทั้งสามฉันได้รับ "จุดเมานต์ / mnt / dev ไม่มีอยู่" หรือคำสั่งที่เกี่ยวข้องสำหรับแต่ละคำสั่ง
ตวัด

ติดตั้ง Ubuntu บน / dev / sda5 อย่างไร ถ้าเป็นเช่นนั้นหลังจากนั้นsudo mount /dev/sda5 /mntคุณจะสามารถcd /mntดูและติดตั้งอูบุนตูของคุณได้ที่นั่น มันควรจะมี dev, sys และ proc ถ้าไม่คุณอาจกำลังติดตั้งพาร์ติชันผิด คุณตรวจสอบสิ่งนี้ได้ไหม ขอบคุณ!
roadmr

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

ดังนั้นเพื่อตอบคำถามของคุณหลังจากรัน "sudo mount / dev / sda5 / mnt" แล้ว "cd / mnt" ฉันเห็น dev, sys และ proc
ตวัด

1
คุณเซอร์เป็นผู้ช่วยชีวิต :) ขอบคุณสำหรับสิ่งนี้ ทำงานเหมือนจับใจ
ereOn

14

บูตจาก Live CD

กดAlt+ Ctrl+ Tเพื่อเปิดเทอร์มินัลและเรียกใช้คำสั่งต่อไปนี้:

sudo mount / dev / sda5 / mnt

ติดตั้งบูตโหลดเดอร์ GRUB2:

sudo grub-install --root-directory = / mnt / dev / sda

นั่นคือ/dev/sda- ฮาร์ดดิสก์ตัวเองไม่ได้เป็นพาร์ทิชันอูบุนตู /dev/sda5-

ถอนติดตั้งพาร์ติชัน Ubuntu และรีสตาร์ทคอมพิวเตอร์ดังนี้:

sudo umount / dev / sda5; sudo รีบูต

หากคุณติดตั้งระบบปฏิบัติการมากกว่าหนึ่งระบบให้ตรวจสอบระบบปฏิบัติการอีกครั้งดังนี้:

sudo update-grub

แค่นั้นแหละ!


1
ตั้งค่าสถานะของฉันสำหรับการลบ - ไม่มีจุดในสิ่งเดียวกันสองครั้ง
23 93 26 35 19 57 3 89

ขอบคุณ แต่นั่นไม่ได้ผล มันติดตั้ง Grub ใหม่ แต่เมื่อฉันรีบูทก็ยังไม่ได้รับการอัปเดตดังนั้นการติดตั้ง Ubuntu ของฉันยังไม่ปรากฏใน Grub ยังไงก็เถอะฉันจำเป็นต้องอัปเดต Grub ก่อนที่จะรีบูตเช่นจาก LiveCD
ตวัด

@Kelley คุณแน่ใจหรือว่าการติดตั้ง Ubuntu บน sda5? sudo fdisk -lคุณสามารถตรวจสอบได้โดยการเรียกใช้ การติดตั้ง Ubuntu จะมี*after / dev / sdxx
Basharat Sialvi

ใช่มันอยู่ใน sda5 อย่างไรก็ตาม * คือ after sda2 ซึ่งเป็นพาร์ติชัน Windows ของฉัน (และพาร์ติชันสุดท้ายที่ฉันสามารถบูทได้เนื่องจากเป็นตัวเลือกเดียวในเมนู Grub ของฉัน)
ตวัด

chroot โปรดอ่านคำตอบอื่น ๆ
ish

1

วิธีแก้ปัญหาของฉันคือ:

  1. ดาวน์โหลด supergrub2disk จาก http://www.supergrubdisk.org/category/download/supergrub2diskdownload/super-grub2-disk-stable/
  2. วางไว้บน pendrive http://www.supergrubdisk.org/put-super-grub2-disk-into-an-usb-pendrive-as-an-iso-image-from-windows/
  3. บูตคอมพิวเตอร์จาก pendrive ด้วย supergrub2disk
  4. เข้าสู่ระบบ Ubuntu ของคุณ
  5. รับ Boot-Repair สำหรับ Ubuntu จากhttps://help.ubuntu.com/community/Boot-Repair

อาจไม่ใช่วิธีที่เร็วที่สุด แต่สำหรับฉันมันเป็นวิธีที่ง่ายที่สุด


1

วิธีนี้เหมือนกับคำตอบของ roadmr แน่นอนยกเว้นง่ายกว่ามาก

  1. บูตเข้าสู่ AntiX Live CD
  2. เมนู> แอปพลิเคชั่น> เครื่องมือระบบ> ซ่อมแซมการบู๊ต
  3. เลือก 'ซ่อมแซมไฟล์กำหนดค่า GRUB' (ตัวเลือกนี้จะเรียกใช้ update-grub)
  4. เลือกไดรฟ์ / พาร์ทิชันที่ / บูตอยู่
  5. รีบูตเมื่อเสร็จแล้ว

ในกรณีเฉพาะของฉัน 'ติดตั้ง GRUB Bootloader ใหม่' แก้ไขให้ฉัน .. ฉันมีการติดตั้ง windows-linux / ดูอัลบูตคู่ ฉันใช้ Macrium 7 เพื่อสร้างโคลนของไดรฟ์เป็นไฟล์ จากนั้นเรียกคืนไฟล์นั้นไปยังไดรฟ์ใหม่ หลังจากที่ฉันเรียกคืนไปยังไดรฟ์ใหม่ก็จะบู๊ตด้วยหน้าจอสีดำกับเคอร์เซอร์กะพริบที่ด้านบนซ้าย



-1

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


1
ดีใจที่ได้รู้ว่าคุณแก้ไขมันอย่างใด แต่ chrooting ควรได้ผลและฉันคิดว่าทางออกที่ดีที่สุด
Mahesh

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