Software-Raid
如何判斷設備上是否安裝了 grub?
如何判斷 grub 是否安裝在磁碟上,以及它是否具有哪些設置(值得注意的是,它對 root 參數有什麼設置)
我需要檢查軟體 RAID1 陣列中的許多磁碟,以確保兩個磁碟都安裝了 grub,每個磁碟上的 grub 都具有適當的 root 值。
這是判斷是否安裝了 GRUB 的簡單方法。如果它不起作用,您的
file
命令的數據庫可能已過時,您可以更新其數據庫或使用另一個答案的替代方法。您可以使用
file
來辨識 MBR 中的 GRUB。例如# 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=
參數不儲存在 MBR 中,它儲存在 GRUB 的文件中,該menu.lst
文件儲存在文件系統中(通常在根 fs 的 /boot/grub 目錄或 /boot 文件系統的 grub 目錄中 - 但並非總是如此,它可以在任何地方)。您必須解析上面文件的輸出,確定文件在哪個磁碟/分區
menu.lst
上,掛載它,讀入並解析它。您還需要閱讀 grub/default 文件以確定哪個 grub 菜單項是預設的,因為這可能是您最感興趣的具有 root= 參數的菜單項。