ฉันจะรู้ได้อย่างไรว่าบูทโหลดเดอร์ตัวใดที่ฉันมี?


21

ฉันรู้ว่า Grub เป็นอุปกรณ์ที่ติดตั้งโดยค่าเริ่มต้นเมื่อติดตั้ง Ubuntu แต่ฉันต้องเผชิญกับระบบฝังตัวที่ใช้งาน 9.10 Desktop Edition ต่อไปนี้เป็นเนื้อหาของไฟล์ lsb-release

ubuntu@ubuntu-desktop:/boot$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.10
DISTRIB_CODENAME=karmic
DISTRIB_DESCRIPTION="Ubuntu 9.10"

แต่ระบบนี้ไม่มี Grub bootloader และฉันต้องการทราบว่าใช้อันไหน ดังนั้นความคิดใด ๆ


wiki.debian.org/BootLoaderจะแสดงรายการboot loaderทั้งหมดที่มีอยู่ใน Debian หากคุณต้องการตรวจสอบแต่ละอัน ระบบส่วนโค้งคืออะไร เพียงแค่แสดงความคิดเห็นเนื่องจากนี่ไม่ใช่คำตอบที่ถูกต้อง ...
andrewsomething

คำตอบ:



13

หากคุณมี/etc/lilo.confไฟล์แสดงว่าคุณกำลังใช้ LILO (LInux LOader) ซึ่งหมายความว่าหากคุณพิมพ์liloเช่นคุณควรเห็นกล่องโต้ตอบคำสั่งสำหรับ lilo booter

หากคุณมี/boot/grub/ไดเรกทอรีอยู่คุณกำลังใช้ GRUB (Grand Unified Boot Loader) ซึ่งหมายความว่าคุณควรใช้ไฟล์ด้วงทั้งหมดเช่น grub-install, grub-reboot ...

Ubuntu 9.10 เป็นรุ่นแรกที่ใช้ GRUB2 https://help.ubuntu.com/community/DualBoot/Grub

UPDATE:

นี่คือสคริปต์สำหรับตรวจสอบภายในเซกเตอร์แรกของฮาร์ดไดรฟ์ว่าตัวจัดการการบู๊ตนั้นใช้อะไรอยู่:

สมมติว่าฮาร์ดไดรฟ์ของคุณอยู่ที่ SDA แล้ว:

sudo dd if=/dev/sda bs=512 count=1 2>/dev/null | strings | grep -Eoi 'grub|lilo|acronis|reboot'

จะบอกคุณว่าคุณใช้ bootloader ใด

คุณสามารถจินตนาการส่วนที่เหลือ ...
รายการตักบูตอยู่ที่นี่: http://en.wikipedia.org/wiki/Comparison_of_boot_loaders และhttp://wiki.debian.org/BootLoader (สำหรับ Debian distros based)
นอกจากนี้หากคุณ ต้องการดูเอาต์พุตไบนารีจริงจากนั้นเพิ่ม -a ไปยังส่วน grep ตัวอย่างเช่น:

sudo dd if=/dev/sda bs=512 count=1 2>&1 | grep -a GRUB ซึ่งจะแสดงข้อมูลในบล็อกแรกนั้น

ขณะนี้มีข้อมูลใหม่นี้คุณจะต้องค้นหาตัวจัดการการบูตที่คุณใช้อยู่


ไม่ต้องมีสิ่งเหล่านี้
binW

อัปเดตด้วยบรรทัดคำสั่งขนาดเล็กสำหรับคุณ
Luis Alvarado

นอกจากนี้ยังพยายามขี่จักรยานผ่านsda1, sda2ฯลฯ ในกรณีที่คุณมีพาร์ทิชันกู้ภัยตั้งค่า
opyate

ฉันจะรู้ได้อย่างไรว่าฉันใช้ VPS และการอนุมัตินี้ไม่ทำงาน (อุปกรณ์คือ / dev / simfs และคำสั่งไม่สร้างเอาต์พุต)
thegeko

@ thegeko ที่เป็นคำถามที่ใหญ่มากเพราะมันขึ้นอยู่กับผู้ให้บริการซอฟต์แวร์ที่ใช้บริการที่พวกเขาเสนอ (IaaS, PaaS, MaaS, คลาวด์, ทุ่มเท, เสมือน ฯลฯ )
Luis Alvarado

3

ใช้ddคำสั่งเพื่ออ่านบูตเซกเตอร์จากนั้นใช้grepรู้จัก bootloader ของคุณ:

dd if=/dev/hda bs=512 count=1 2>&1 | grep GRUB
dd if=/dev/hda bs=512 count=1 2>&1 | grep LILO

1

คุณกำลังตรวจสอบที่ปลอดภัยยิ่งขึ้นโดยสอบถามรุ่นจากเครื่องมือเอง (ยกเว้นการใช้ระดับต่ำ dd หรือสิ่งประดิษฐ์อื่น ๆ )

ตัวอย่างเช่นการทดสอบ lilo:

root# lilo -V
bash: lilo: command not found

root# grub-install --version
grub-install (GRUB) 2.02~beta2-22

แน่นอนว่าจะไม่ทำงานหากคุณติดตั้งทั้งคู่ หากเป็นกรณีนี้เพื่อหลีกเลี่ยงความสับสนให้ถอนการติดตั้งสิ่งที่คุณไม่ต้องการ


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