|
本帖最后由 qq517abcdefg 于 2015-11-23 23:49 编辑
又测试了一下,基本确定是存在类型为0xEE的GPT保护分区导致的。另外出现了奇怪的分区ID,0x83和0x93,不知道是怎么回事。
用diskpart的remove命令删除盘符成功,但写入分区开头的第2个扇区会被拒绝访问,即使是在bootice的扇区编辑功能里。
但是MBR和分区开头的第一个扇区看起来是可以写入的。bootice的扇区编辑可以编辑这些扇区。
我尝试把GPT保护分区的类型ID在扇区编辑里直接改成了0x0B,操作成功了。
然后我在分区管理里点了隐藏和显示分区按钮,这时有点奇怪:点击隐藏按钮后,关掉分区管理窗口、重新打开,分区ID变成了0x93;再点显示按钮,变成0x83,而不是0x1B和0x0B。
但是,看起来保护已经解除了:分区开头第二个扇区已经可以写入,bootmgr改名功能也可以使用了。
如果在分区管理里把GPT保护分区的ID改回0xEE,就会恢复分区开头第二个扇区不可写入的状态。
Windows自己的Bootsect.exe更新PBR和MBR倒是没有碰到任何阻碍。
补充一下:一般Windows机器上用VHD应该也可以重现:先用GPT分区,再用gdisk做一下hybrid mbr就可以了,我已经亲自试过了。
另外,利用扇区编辑直接修改MBR后,好像系统没有载入新的分区表。linux下有个partprobe命令,可以重新加载分区表,Windows下应该也有可用的API吧。不知道能不能在扇区编辑功能里加上这个功能,比如添加一个重新加载分区表的按钮? |
|