从映像恢复 Windows XP 时出现 Partimage 和自动检查问题

从映像恢复 Windows XP 时出现 Partimage 和自动检查问题

我正在尝试创建 Windows XP 映像,并使用 Partimage 将其克隆到同一硬盘上的多个分区。当我将映像还原到另一个分区时,我似乎遇到了问题 - 当我从刚刚还原的分区启动操作系统时,它会在启动过程中显示此消息:autochk program not found - skipping autocheck,然后操作系统重新启动 PC,整个过程无限循环重复。

经过谷歌搜索,有人认为这个循环是由于分区被隐藏或挂载管理器文件丢失。我检查了我的配置并确认情况并非如此。

我是在想:

  • 还有其他人遇到过这种情况吗?有解决办法吗?
  • 当您尝试将映像恢复到同一硬盘上的不同分区时会发生这种情况吗?还是 Partimage 本身存在问题?
  • 我是否应该尝试不同的分区克隆软件?

答案1

NTFS 分区具有BIOS 参数块在其开始处,一个字段(偏移量 0x1C 处的 DWORD,“隐藏扇区的数量”)表示它在磁盘上的位置。

如果您想从该分区启动,则必须 (a) 在硬盘中完全相同的扇区处恢复该分区,或者 (b) 修补该字段(以 Little-Endian 样式写入数字)。

例如,要说明分区加载在扇区 63(XP 中的默认设置),请使用:

echo 63 | gawk '{printf("%c%c%c%c",$1,rshift($1,8),rshift($1,16),rshift($1,24))}' | dd bs=1 count=4 seek=28 of=/dev/sda1

/dev/sda1有问题的分区在哪里。

您可以使用fdisk查看当前分区:

# fdisk -l /dev/sda

...
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *      321300   192089204    95883952+   7  HPFS/NTFS/exFAT
/dev/sda2       192089210   408998834   108454812+   7  HPFS/NTFS/exFAT
/dev/sda3       409001982   625141759   108069889    5  Extended
/dev/sda4              63      321299      160618+  83  Linux
...

# dd bs=1 count=4 skip=28 if=/dev/sda1 | hd

...
00000000  14 e7 04 00
...

在此示例中,我的 NTFS 分区 /dev/sda1(带有 Win Vista)位于扇区 321300(0x0004e714)。

相关内容