Bagaimana cara mengetahui boot loader yang saya miliki?

21

Saya tahu Grub adalah yang terinstal secara default ketika menginstal Ubuntu tetapi saya dihadapkan dengan sistem tertanam yang menjalankan 9,10 Desktop Edition. Berikut ini adalah isi dari file 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"

tetapi sistem ini tidak memiliki bootloader Grub dan saya ingin mencari tahu yang mana yang menggunakan. Jadi, ada ide?

binW
sumber
wiki.debian.org/BootLoader mencantumkan semua boot loader yang tersedia di Debian, jika Anda ingin memeriksa masing-masing. Apa lengkungan sistemnya? Hanya meninggalkan komentar karena ini bukan jawaban yang tepat ...
andrewsomething

Jawaban:

13

Jika Anda memiliki /etc/lilo.conffile maka Anda menggunakan LILO (LInux LOader) Ini berarti bahwa jika Anda mengetik lilomisalnya Anda akan melihat dialog perintah untuk lilo booter.

Jika Anda memiliki /boot/grub/direktori maka Anda menggunakan GRUB (Grand Unified Boot Loader) Ini berarti Anda harus dapat menggunakan semua file grub seperti grub-install, grub-reboot ...

Ubuntu 9.10 adalah versi pertama yang menggunakan GRUB2 https://help.ubuntu.com/community/DualBoot/Grub

MEMPERBARUI:

Berikut adalah skrip untuk memeriksa di dalam sektor pertama hard drive untuk mengetahui apa boot manager yang digunakan:

Dengan asumsi hard drive Anda ada di SDA, maka:

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

akan memberi tahu Anda bootloader mana yang Anda gunakan.

Anda dapat membayangkan sisanya ...
Daftar boot loader ada di sini: http://en.wikipedia.org/wiki/Comparison_of_boot_loaders dan http://wiki.debian.org/BootLoader (Untuk distro berbasis Debian)
Juga jika Anda ingin MELIHAT output biner nyata kemudian tambahkan -a ke bagian grep. Sebagai contoh:

sudo dd if=/dev/sda bs=512 count=1 2>&1 | grep -a GRUB yang akan menampilkan data di blok pertama itu.

Sekarang dengan informasi baru ini Anda HARUS menemukan boot manager yang Anda gunakan.

Luis Alvarado
sumber
Tidak, tidak punya ini.
binW
Diperbarui dengan baris perintah kecil untuk Anda.
Luis Alvarado
Coba juga bersepeda sda1, sda2dll. Jika Anda memiliki partisi rescue yang telah diatur.
Opyate
Bagaimana saya mengetahui jika saya menggunakan VPS dan pendekatan ini tidak berfungsi? (perangkat adalah / dev / simfs dan perintah tidak menghasilkan output)
thegeko
@ thegeko itu adalah pertanyaan yang sangat besar karena tergantung pada penyedia Anda, perangkat lunak yang mereka gunakan, layanan yang mereka tawarkan (IaaS, PaaS, MaaS, Cloud, Dedicated, Virtual, dll.)
Luis Alvarado
3

Gunakan ddperintah untuk membaca sektor boot, lalu gunakan grepuntuk mengetahui bootloader Anda:

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

Anda lebih aman memeriksa dengan menanyakan versi dari alat itu sendiri (daripada menggunakan dd tingkat rendah atau artefak lainnya).

Misalnya, pengujian untuk lilo:

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

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

Tentu saja, ini tidak akan berfungsi jika Anda telah menginstal keduanya. Jika itu masalahnya, untuk menghindari kebingungan, hapus instalan yang tidak Anda butuhkan.

Dr Beco
sumber