背景:我通常使用 Linux 作为操作系统。我有一个 Windows XP 双启动。由于 Windows 分区存在一些问题(解释起来太长),我暂时将其转移了。这是我所做的:
使用以下方法调整文件系统大小:
ntfsresize -s idontrememberthenewsize /dev/sda3
重新启动系统并检查 Windows 是否正常启动
使用以下方式备份分区
dd if=/dev/sda3 of=~/win.img
使用 fdisk,我删除了旧分区并重新创建它,恢复了它的 id 和启动标志。现在 windows 分区是
/dev/sda8
:$ fdisk -l Disk /dev/sda: 2000.4 GB, 2000398934016 bytes 255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: xxx Device Boot Start End Blocks Id System /dev/sda1 2048 616447 307200 83 Linux /dev/sda2 616448 3907028991 1953206272 5 Extended /dev/sda5 618496 17395711 8388608 82 Linux swap / Solaris /dev/sda6 17397760 78837759 30720000 83 Linux /dev/sda7 78839808 3702228991 1811694592 83 Linux /dev/sda8 * 3702231040 3907028991 102398976 7 HPFS/NTFS/exFAT
使用以下方法恢复分区映像:
dd if=~/win.img of=/dev/sda8
sudo update-grub
boot.ini
在Windows 分区的文件中将分区号更改为“5” (读取这里了解更多信息)
我还尝试了其他分区号,从 1 到 8,但没有任何反应。只显示黑屏,左上角有一个闪烁的文本光标。
答案1
已修复,我忘记了 Windows XP 必须驻留在主分区上。我删除了它,调整了扩展分区的大小,将其重新创建为主分区并恢复了映像。