我怎样才能运行Windowschkdsk.exe从我的Linux USB 救援棒修复 NTFS 驱动器?
这是用于媒体播放器的。我已经不再使用Windows了,但我不得不在我的上网本上保留一个可用的安装来时不时地修复这个磁盘!我想摆脱这个无用的分区。
Linux 工具 ntfs-3g 中的 ntfsfix 无法替代 Windows chkdsk!
答案1
除非你考虑chkdsk.exe
在下面运行葡萄酒或者虚拟化,Linux无法运行它。有一个 Linux 兼容工具可用于修复 ntfs 分区,ntfsfix
大多数发行版存储库上都提供该工具。
它不是适用于 Linux 的 chkdsk,并且可能不会产生与 Microsoft Windows 兼容的结果,但它能够修复一些常见ntfs可能出现的问题。它尝试修复时可能会丢失您的数据,尽管 chkdsk 也可以这样做。用法示例:
ntfsfix /dev/sdxY
您应该将其中替换xY
为您要修复的分区的相应字母。
答案2
我使用 MiniXPHiren 的 BootCD。包含的版本 5.1.2600.0 有点过时,但可以完成工作。
这样,我只需在救援棒上添加另一个启动项即可获得 chkdsk.exe 的全部功能!
这是我的手动、分步、仅限 Linux 的方法,其中包含空USB记忆棒:
开始一个巴什终端中的会话
mkdir /tmp/d1 && cd /tmp/d1
wget http://www.hirensbootcd.org/files/Hirens.BootCD.15.2.zip
unzip Hirens.BootCD.15.2.zip
mkdir iso
sudo mount -o loop,ro,uid=$UID Hiren\'s.BootCD.15.2.iso iso
插入您要使用的 U 盘:小心!其上的所有内容都将被删除!
确定摇杆的装置:
dmesg
或者
journalctl
或者
less /var/log/syslog
注意设备和分区:
USB_STICK= # e.g. /dev/sdb
USB_STICK_PARTITION=${USB_STICK}1
重新检查一下:
/sbin/fdisk -l $USB_STICK
检查是否已安装:
mount | grep $USB_STICK
如果是:卸载设备或分区
sudo umount ${USB_STICK}{,{1..4}}
清除它:
sudo dd if=/dev/zero of=$USB_STICK count=10000
下载syslinux:
wget https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.tar.gz
提取它:
tar xzf syslinux-6.03.tar.gz
写入主引导记录:
sudo dd if=syslinux-6.03/bios/mbr/mbr.bin of=$USB_STICK
创建一个FAT32分区,例如
echo ,,c,\* | sudo sfdisk $USB_STICK
格式化它:
sudo mkfs.vfat -n MINIXP -v $USB_STICK_PARTITION
使其可启动:
sudo syslinux-6.03/bios/linux/syslinux --install $USB_STICK_PARTITION
复制内容:
mkdir usb
sudo mount -o uid=$UID $USB_STICK_PARTITION usb
cp -rv iso/* usb
创建配置文件:
echo "default minixp\nlabel minixp\nboot /HBCD/grldr" >usb/syslinux.cfg
制作迷你XP默认:
sed -i '/^default/s|/default|2|' usb/HBCD/menu.lst
整理:
sudo umount $USB_STICK_PARTITION
sudo umount iso
cd ..
rm -r d1
完毕!
我删除了 Parted Magic 和大病毒的东西,然后把它归结为200MB在我的救援棒上。
调整此程序以适合您自己的救援棒!