在发行版的 MBR 分区表中,例如 ubuntu-16.04-desktop-amd64.iso,为什么 GPT 分区似乎与主引导分区重叠?如果我尝试以任何方式编辑分区表,这似乎会产生错误。
我想编辑 MBR 以添加 USB 持久性(如其他地方所述),并且必须添加分区或扩大引导分区。
我相信这曾经有效,但在这个发行版和类似发行版中重叠的 GPT #2 分区似乎严重混淆了 fdisk、sfdisk、parted、gparted 和 partprobe。
我的机器是 MBR,而不是 GPT BIOS。
我错过了什么?
这是发行版的 MBR 分区表(直接来自 ISO 文件):
cat ubuntu-16.04-desktop-amd64.iso | xxd | head -32 | tail -5
Run Code Online (Sandbox Code Playgroud)
给出:
00001b0: 28db 2b00 0000 0000 708e 0e0e 0000 8000 (.+.....p.......
00001c0: 0100 0058 e0fa 0000 0000 6048 2c00 00fe ...X......`H,...
00001d0: ffff effe ffff 4411 2c00 8012 0000 0000 ......D.,.......
00001e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ …Run Code Online (Sandbox Code Playgroud) 我希望能够从实时 Ubuntu USB 记忆棒启动,然后在该 USB 记忆棒上永久使用 rsync 脚本,将我的主 Debian 系统的增量快照(备份)制作到第二个硬盘驱动器。
有人会认为制作一个持久的实时 Ubuntu USB 记忆棒会如此容易,但大多数实时 USB 制造商不允许持久性,而那些允许的,没有奏效。这包括 UNetBootin,即使在我本地编译和调试丢失的依赖项之后也是如此。所以我想要一个简单的终端解决方案,我可以在必要时理解和调试。
来自iso的简单dd,然后添加casper-rw文件方法存在分区工具被非标准efi分区映像混淆的问题。(参考)
一些解决方案,如 UNetBootin 接近工作,但是当我尝试执行 sudo -s 以获取 root shell 时,它们会崩溃和转储,并破坏我的实时 USB 映像。