如何找到 Grub2 的安装位置?
这是我当前的磁盘分区(如果重要的话,我正在运行 openSUSE Tumbleweed)
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x34fe34fd
Device Boot Start End Sectors Size Id Type
/dev/sda1 63 205404159 205404097 98G 7 HPFS/NTFS/exFAT
/dev/sda2 205404160 407547903 202143744 96.4G 7 HPFS/NTFS/exFAT
/dev/sda3 * 407547904 976773167 569225264 271.4G 5 Extended
/dev/sda5 407549952 489474047 81924096 39.1G 83 Linux
/dev/sda6 489476096 974725119 485249024 231.4G 83 Linux
/dev/sda7 974727168 976773119 2045952 999M 82 Linux swap / Solaris
我只能看到一个标记为可启动的分区,而且我非常确定 sda1 也是可启动的(它包含 Windows 安装,但我必须将其删除,现在是空的)。
重新安装 Windows 后,我需要运行grub2-reboot
来恢复它,但我不知道如何找到它当前的安装位置(即sda
或sda3
)。
有没有命令可以显示这些信息?最终,这重要吗,或者我可以在任何我喜欢的地方重新安装?
答案1
sudo fdisk -l 2>/dev/null | egrep "Disk /|/dev/" | sed "s#^/dev/#Part /dev/#" | awk '{print $2}' | sed 's/://' | xargs -n1 -IX sudo sh -c "hexdump -v -s 0x80 -n 2 -e '2/1 \"%x\" \"\\n\"' X | xargs -n1 -IY sh -c \"case \"Y\" in '48b4') echo X: GRUB 2 v1.96 ;; 'aa75' | '5272') echo X: GRUB Legacy ;; '7c3c') echo X: GRUB 2 v1.97 oder v1.98 ;; '020') echo X: GRUB 2 v1.99 ;; *) echo X: Kein GRUB Y ;; esac\""