在混合 MBR 磁碟上安裝 grub

在混合 MBR 磁碟上安裝 grub

我按照非常詳細的指南製作混合 MBR 記錄 (GPT/MBR),取自這裡

現在,gdisk說我有混合mbr。但我只能在 UEFI 中啟動,而不能在 BIOS 中啟動(我使用外部硬碟)。似乎簡單執行grub-install僅安裝 uefi 部分。我看到了討論 關於保護性條目必須成為磁碟上第一個條目的要求,所以我將其設為第一個,這不是根本原因。

所以問題是如何安裝 GRUB 以便它可以引導從 BIOS/MBR 和 UEFI/GPT 啟動的作業系統?

$ sudo gdisk /dev/sdd

GPT fdisk (gdisk) version 1.0.1

Partition table scan:
  MBR: hybrid
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with hybrid MBR; using GPT.

Command (? for help): r

Recovery/transformation command (? for help): o

Disk size is 468862128 sectors (223.6 GiB)
MBR disk identifier: 0x7213C4A0
MBR partitions:

Number  Boot  Start Sector   End Sector   Status      Code
   1                     1       208895   primary     0xEE
   2      *         208896      1196031   primary     0x83
   3               1196032    135413759   primary     0x83
   4             200425472    468860927   primary     0x83

Recovery/transformation command (? for help): p
Disk /dev/sdd: 468862128 sectors, 223.6 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 21773ad9-3d43-4832-85b7-6c841d20ce75
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 468862094
Partitions will be aligned on 1-sector boundaries
Total free space is 62183 sectors (30.4 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1              63           80324   39.2 MiB    EF00  Basic data partition
   2          208896         1196031   482.0 MiB   8300  Basic data partition
   3         1196032       135413759   64.0 GiB    8300
   4       135413760       168968191   16.0 GiB    0700  Basic data partition
   5       168968192       200425471   15.0 GiB    0700  Basic data partition
   6       200425472       468860927   128.0 GiB   8300
   7           81920          149503   33.0 MiB    EF02

$ sudo 分開 /dev/sdd

GNU Parted 3.2
Using /dev/sdd
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: ATA OCZ-VECTOR150 (scsi)
Disk /dev/sdd: 240GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system     Name                  Flags
 1      32.3kB  41.1MB  41.1MB  fat32           Basic data partition  boot, esp
 7      41.9MB  76.5MB  34.6MB                                        bios_grub
 2      107MB   612MB   505MB   ext4            Basic data partition
 3      612MB   69.3GB  68.7GB  ext4
 4      69.3GB  86.5GB  17.2GB  linux-swap(v1)  Basic data partition  msftdata
 5      86.5GB  103GB   16.1GB  ntfs            Basic data partition  msftdata
 6      103GB   240GB   137GB   ext4

$ sudo grub 安裝

Installing for x86_64-efi platform.
Installation finished. No error reported.

答案1

如何安裝 GRUB 以便它可以引導從 BIOS/MBR 和 UEFI/GPT 啟動的作業系統?

你應該創建一個BIOS啟動分割區標記為bios_grub.該分割區需要在安裝 GRUB 之前建立。

要讓 GRUB 在基於 BIOS 的系統上從 GPT 分割區磁碟引導,需要 BIOS 開機分割區。請注意,該分割區與 /boot 掛載點無關,將直接被 GRUB 使用。不要在其上建立檔案系統,也不要掛載它。

如何創建BIOS啟動分割區?最小尺寸是多少?

在 GPT 系統上建立 BIOS 引導分割區時,應確保其大小至少為 31 KiB。 (GPT 格式的磁碟通常不會特別小,因此我們建議您將其設定為大於最低限度,例如 1 MiB,以留出足夠的成長空間。)您還必須確保它具有正確的分割區類型。使用 GNU Parted,您可以使用以下命令進行設定:

parted /dev/disk set partition-number bios_grub on

相關內容