pengembangan-web-mp.com

Bagaimana saya tahu jika grub diinstal pada perangkat?

Bagaimana saya bisa tahu apakah grub diinstal pada disk, dan jika itu adalah pengaturan yang dimilikinya (perhatikan, apa yang dimiliki untuk parameter root)

Saya perlu memeriksa banyak disk dalam perangkat lunak array RAID1 untuk memastikan kedua disk telah menginstal grub, dengan grub pada setiap disk memiliki nilai root yang sesuai.

39
DrStalker

MEMPERBARUI:

Jawaban ini dari 2009 dan berlaku untuk grub-legacy, bukan grub2.

Anda dapat menggunakan file untuk mengidentifikasi GRUB dalam MBR. Mis.

# file -s /dev/sda
/dev/sda: x86 boot sector; GRand Unified Bootloader, stage1 version 0x3
, stage2 address 0x2000, stage2 segment 0x200; partition 1:
ID=0xfd, starthead 1, startsector 63, 1044162 sectors; partition
2: ID=0x82, starthead 0, startsector 1044225, 1028160 sectors;
partition 3: ID=0xfd, starthead 0, startsector 2072385,
1951447680 sectors, code offset 0x48

root= paramater tidak disimpan dalam MBR, itu disimpan dalam GRUB's menu.lst file yang disimpan pada sistem file (biasanya di direktori/boot/grub dari root fs atau direktori grub dari sistem file/boot - tetapi tidak selalu, bisa di mana saja).

Anda harus mengurai output file di atas, menentukan disk/partisi mana yang menu.lst file aktif, pasang, baca dan parsing. Anda juga ingin membaca di file grub/default untuk mengetahui entri menu grub mana yang merupakan default, karena mungkin itu yang memiliki root = parameter yang paling Anda minati.

28
cas

Metode Alternatif

file -s tidak berfungsi untuk saya di Ubuntu Lucid karena file ajaib file perintah saya kedaluwarsa. Cara lain untuk melakukan ini jika file ajaib Anda belum mengikuti GRUB perubahan adalah dengan memeriksa 512 byte pertama perangkat menggunakan perintah dd seperti ini:

[email protected]:~$ Sudo dd bs=512 count=1 if=/dev/sda 2>/dev/null | strings
ZRr=
`|f
\|f1
GRUB
Geom
Hard Disk
Read
 Error

Ini mengirimkan output dari perintah dd melalui perintah strings sehingga menghapus karakter yang tidak patut (statistik transfer dibuang ke /dev/null).

Jika Anda melihat pesan apa pun yang GRUB akan ditampilkan ketika menemui kegagalan maka Anda sudah menginstal grub.

Kiat tip untuk louib di ubuntuforums.org untuk menjawab di pos yang dilindungi kata sandi ini: http://ubuntuforums.org/showthread.php?t=363372

Bagi yang penasaran inilah yang saya dapat dari file -s:

[email protected]:~$ Sudo file -s /dev/sda
/dev/sda: x86 boot sector; partition 1: ID=0x83, active, starthead 32, startsector 20
48, 337211392 sectors; partition 2: ID=0x5, starthead 254, startsector 337215486, 1434214
6 sectors, code offset 0x63

Tidak ada apa-apa tentang GRUB di sana secara khusus.

53
benrifkah

Kamu bisa menggunakan grub-emu untuk melihat menu yang akan ditampilkan grub ketika mesin melakukan reboot.

$ Sudo apt-get install grub-emu
$ Sudo grub-emu

Pada mesin desktop saya, menu ditampilkan seperti yang diharapkan, meskipun jika saya benar-benar berpura-pura mem-boot sebuah kernel, saya mendapatkan kesalahan "no such device". Saya pikir itu perilaku yang diharapkan.

Di VPS DigitalOcean saya tidak ada entri yang ditampilkan di menu grub, meskipun server benar-benar reboot dengan baik. (Ini adalah VPS 2013, sehingga jarak tempuh Anda mungkin beragam.)

Beberapa catatan saat menjalankan grub-emu:

  • Di X-windows, jika Anda ingin berinteraksi dengan grub, Anda memerlukan fokus keyboard menjadi pada terminal dari mana Anda menjalankan grub-emu, dan bukan pada jendela yang muncul.
  • Anda dapat keluar dari emulator dengan menekan c lalu mengetikkan exit.
  • Setelah keluar, emulator terminal Anda mungkin dalam kondisi buruk (mis. Enter tidak akan ditampilkan pada baris baru). Perbaiki dengan mengetikkan reset. (Jangan khawatir itu tidak akan memulai ulang mesin Anda. Itu hanya akan membersihkan terminal Anda.)
7
joeytwiddle