当我尝试创建 GPT 分区的可引导 USB 磁盘时,我被困了几天。我希望这个磁盘就像我的实时系统的可启动“备份”磁盘。 (其实系统部分可能和live的不一样,目前我的live系统是Jessie的)
我买了一个 4To maxtor USB 驱动器。
目前,我使用 /boot (sdc7) swap (sdc8) 和 LVM (sdc12) 在该磁盘上安装了 Stretch,我创建了 2 个 EFI 分区,因为我在某处读到最好每个操作系统都有一个分区。
分区架构是:
Disk /dev/sdc: 7814037167 sectors, 3.6 TiB Logical sector size: 512
bytes Disk identifier (GUID): 4E367763-BD0F-459F-9F18-AADF699D40BF
Partition table holds up to 128 entries First usable sector is 34,
last usable sector is 7814037133 Partitions will be aligned on
8-sector boundaries Total free space is 6 sectors (3.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 40 2087 1024.0 KiB 8300 BIOS boot partition
2 2088 206887 100.0 MiB EF00 EFI System
3 206888 288807 40.0 MiB 8300 Dell utility
4 288808 19163175 9.0 GiB 2700 Windows RE
5 19163176 207906855 90.0 GiB 0700 Microsoft basic data
6 207906856 208316455 200.0 MiB EF00 EFI System grub2
7 208316456 208623655 150.0 MiB 8300 boot
8 208623656 219109415 5.0 GiB 8200 Linux swap
9 219109416 2366593063 1024.0 GiB 8300 Linux filesystem
10 2366593064 4514076711 1024.0 GiB 8300 Linux filesystem
11 4514076712 6661560359 1024.0 GiB 8300 Linux filesystem
12 6661560360 7814037133 549.5 GiB 8E00 Linux LVM
sda 12 是一个 PV:
PV Name /dev/sdc12
VG Name datavgbk
PV Size 549,54 GiB / not usable 4,80 MiB
Allocatable yes
PE Size 4,00 MiB
Total PE 140682
Free PE 89482
Allocated PE 51200
PV UUID n1UgX0-MGqy-2vvZ-BS9Z-KF3o-9ue7-g9YOSE
它包含 1 个 VG:
VG Name datavgbk
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 256
Cur LV 3
Open LV 0
Max PV 256
Cur PV 1
Act PV 1
VG Size 549,54 GiB
PE Size 4,00 MiB
Total PE 140682
Alloc PE / Size 51200 / 200,00 GiB
Free PE / Size 89482 / 349,54 GiB
VG UUID tTYuQa-jKpL-lhih-3fi1-3hWI-Zlvm-Wk22GO
和 3 个 LV:
LV Path /dev/datavgbk/homelvbkp
LV Name homelvbkp
VG Name datavgbk
LV UUID QCVg1c-vAMy-ss9C-hlLv-Xjd1-0qrm-MwPkY7
LV Write Access read/write
LV Creation host, time phlsys, 2019-04-07 17:25:02 +0200
LV Status NOT available
LV Size 60,00 GiB
Current LE 15360
Segments 1
Allocation inherit
Read ahead sectors auto
LV Path /dev/datavgbk/optlvbkp
LV Name optlvbkp
VG Name datavgbk
LV UUID ZrqV3J-aVNv-0xZR-AAve-rDUC-Dnnf-0p8jFz
LV Write Access read/write
LV Creation host, time phlsys, 2019-04-07 17:26:54 +0200
LV Status NOT available
LV Size 40,00 GiB
Current LE 10240
Segments 1
Allocation inherit
Read ahead sectors auto
LV Path /dev/datavgbk/syslvbkp
LV Name syslvbkp
VG Name datavgbk
LV UUID 4Bhkub-YOmE-Lcz0-EBIG-eKsm-RD4X-u42j8y
LV Write Access read/write
LV Creation host, time phlsys, 2019-04-07 17:37:11 +0200
LV Status NOT available
LV Size 100,00 GiB
Current LE 25600
Segments 1
Allocation inherit
Read ahead sectors auto
为此,我使用 gdisk 和 LVM2 在我的实时系统上准备了这个新磁盘(我的实时磁盘已断开连接),在 Stretch CDROM 上启动并运行图形安装。
一切都已成功完成,但在这个新磁盘上重新启动时,Grub救援显示“未找到操作系统”。 Grub-rescue ls 显示 (hd0), (hd0,gpt1) ... ,gpt12)
我的系统 BIOS 支持 UEFI 并且安全启动被禁用。
请注意,我的实时系统实际上设置为使用 EFI 旧版和 MBR 分区。
我的实时服务器和新磁盘上都没有 device.map 文件。
我可以看到 /boot 目录包含的是:
# tree .
├── config-4.9.0-8-amd64
├── grub
│ ├── fonts
│ │ └── unicode.pf2
│ ├── grub.cfg
│ ├── grubenv
│ ├── i386-pc
│ │ ├── 915resolution.mod
│ │ ├── ...
│ │ └── zfs.mod
│ ├── locale
│ │ ├── ast.mo
│ │ ├── ...
│ │ └── zh_TW.mo
│ └── unicode.pf2
├── initrd.img-4.9.0-8-amd64
├── lost+found
├── System.map-4.9.0-8-amd64
└── vmlinuz-4.9.0-8-amd64
今天早上我做了一些检查,因为我注意到我的 BIOS 引导分区类型设置不正确(8300 而不是 EF02)。
我还检查了磁盘 MBR 上写入的内容,可以看到 grub 写入了自己的内容:
dd if=/dev/sdc of=/tmp/bsect bs=512 count=2
strings /tmp/bsect
ZRr=
`|f
\|f1
GRUB
Geom
Hard Disk
Read
Error
EFI PART
cw6N
我还可以在 grub.cfg 中看到 root 已正确设置到我的系统分区到 lvm 中
set root='lvmid/tTYuQa-jKpL-lhih-3fi1-3hWI-Zlvm-Wk22GO/4Bhkub-YOmE-Lcz0-EBIG-eKsm-RD4X-u42j8y'
在哪里
VG UUID = tTYuQa-jKpL-lhih-3fi1-3hWI-Zlvm-Wk22GO
LV UUID = 4Bhkub-YOmE-Lcz0-EBIG-eKsm-RD4X-u42j8y
没关系