Linux裁剪系统时硬盘损坏的解决方法


    在进行系统裁剪时,为了减少等待时间,一般会选择将宿主机挂起并直接运行目标系统,然而过于频繁的操作,往往会造成硬盘无法及时同步,造成硬盘分区损坏,从而造成目标系统无法正常启动。此时,若将分区重新格式化再重新来过未免过于麻烦。


本文通过归档打包的方式解决该问题,有效的避免了繁琐的修复过程


一、进入目标系统的根目录打包压缩文件至指定位置(假设在宿主机的/mnt/sysroot目录下)

    find . | cpio -H newc --quiet -o | gzip > /root/sysroot.2.gz

二、卸载损坏分区

    fuser -km /mnt/sysroot

    umount /mnt/sysroot/

三、重新格式化并挂载分区

    mke2fs -j /dev/hda2

    mount /dev/hda2 /mnt/sysroot/

四、再次回到目标系统的根目录,恢复文件并执行同步

    cd /mnt/sysroot/

    zcat /root/sysroot.2.gz | cpio -id

    sync

五、挂起宿主机,打开目标系统的虚拟机,此时一般就能正常运行了