首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在GPT磁盘上操纵保护MBR

在GPT磁盘上操纵保护MBR
EN

Unix & Linux用户
提问于 2022-01-25 01:42:48
回答 1查看 1.4K关注 0票数 0

我想将0x00类型的空分区添加到GPT格式化磁盘的保护MBR的开头。我找到了一个道路来完成这个任务,但是这个方法依赖于Linux版本中没有的fdisk增强功能(具体来说,-p/-f选项可以在FreeBSD上使用,而不是Linux)。我还找到了一个道路来在第一个分区之后添加一个空分区。

我想使这成为分区表中的第二个条目,并在它前面添加一个0x00类型的空条目,而不会干扰GPT分区表或磁盘上的任何GPT分区。如何才能做到这一点?保护MBR可以用fdisk -t dos <device>编辑,但是fdisk拒绝添加分区,因为没有可用的空闲扇区。我不确定是否删除保护的MBR分区和重新创建两个新的分区是否会影响磁盘上的GPT分区。

EN

回答 1

Unix & Linux用户

发布于 2022-01-26 02:25:13

这可以使用dd来实现。

保存MBR,以防需要还原:

代码语言:javascript
运行
复制
# dd bs=1 count=512 status=none if=/dev/sdb > foo

查看MBR分区表(从扇区1上的字节偏移446开始的64个字节)。示例输出采用hexdump格式,以便每个分区表条目占用一行。

代码语言:javascript
运行
复制
# dd if=/dev/sdb bs=1 skip=446 count=64 status=none | hexdump -ve '16/1 " %02X" "\n"'
    00 01 00 00 EE FF FF FF 01 00 00 00 FF FF FF FF
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

复制第一个分区的行,如果需要,将零字节更改为0x80以设置该分区的引导标志。将第四个字节更改为0x00,将分区设置为空类型。(每个字节的意义在维基百科上描述。)用编辑的行替换第一个分区,并将原始的第一个分区移动到第二个位置。

代码语言:javascript
运行
复制
    80 01 00 00 00 FF FF FF 01 00 00 00 FF FF FF FF
    00 01 00 00 EE FF FF FF 01 00 00 00 FF FF FF FF
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

将修改后的十六进制子字符串写入磁盘,在0xEE分区之前添加一个空分区:

代码语言:javascript
运行
复制
# printf '\x80\x01\x00\x00\x00\xFF\xFF\xFF\x01\x00\x00\x00\xFF\xFF\xFF\xFF\x00\x01\x00\x00\xEE\xFF\xFF\xFF\x01\x00\x00\x00\xFF\xFF\xFF\xFF' | dd bs=1 seek=446 of=/dev/sdb

核实更改:

代码语言:javascript
运行
复制
# dd if=/dev/sdb bs=1 skip=446 count=64 status=none | hexdump -ve '16/1 " %02X" "\n"'
80 01 00 00 00 FF FF FF 01 00 00 00 FF FF FF FF
00 01 00 00 EE FF FF FF 01 00 00 00 FF FF FF FF
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/687790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档