我有一个基于 Debian 的系统,其中有三个驱动器。所有三个驱动器均具有以下分区布局:
Model: ATA ST4000DM000-1F21 (scsi)
Disk /dev/sda: 4001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 99.6MB 98.6MB fat32 boot
2 99.6MB 40.1GB 40.0GB raid
3 40.1GB 4001GB 3961GB raid
第一个分区是 EFI 系统分区。第二和第三个分区构成两个软件 RAID 阵列:一个包含 的 40GB RAID 1 阵列/
和一个存储数据的 ~8TB RAID 5 阵列(作为单个用户的主目录安装)。
该系统的主板出现故障,我需要让这些驱动器在另一个系统中启动。提取数据是不够的;我需要真正让驱动器启动。
我已将这三个驱动器连接到另一台机器,并确认它检测到了这些驱动器。实时启动到 Ubuntu 时,我可以确认 RAID 阵列完好无损:mdadm --assemble --scan
检测和重新组装两个阵列没有问题,我可以挂载和访问它们的内容。我还可以成功挂载这三个驱动器上的 ESP 分区,但由于配置错误或我的某些误解,只有第一个驱动器上的 ESP 分区包含任何内容(一个 128KB 的文件:)/EFI/debian/grubx64.efi
。
但是,我无法启动驱动器。新主机是第一代 i7(X58 芯片组),不支持 EFI。我该怎么做才能启动它?我希望能够以某种方式从 USB 拇指驱动器启动 GRUB,然后从那里继续从驱动器启动,但我不知道如何设置类似的东西 - EFI 对我来说有点神秘,而且我怀疑/
在 RAID 上也不容易。有人能告诉我从这里该怎么做吗?
答案1
它实际上没有什么特别之处。BIOS 无法启动为 UEFI 配置的系统。但是,在仅 BIOS 的系统上启动 GPT 磁盘是完全有可能的。您所需要的只是一个与 GPT 兼容的启动管理器,例如 Grub 2。
您需要一个 BIOS 启动分区 (ID EF02
),最好将其作为磁盘的第一个分区。它不必很大,1MB 就足够了。但是,这意味着 ESP 会妨碍操作,必须将其移除。反正现在也不再需要它了。
grub-install /dev/sda
将自动查找并使用 BIOS 启动分区。有时,需要明确指定体系结构,如下所示:grub-install --target=i386-pc /dev/sda
。由于您的系统当前无法启动,因此您需要从chroot
环境中执行此操作。我相信 Debian 有关于此主题的说明。