NTFS 修复 - Linux 中的 chkdsk

NTFS 修复 - Linux 中的 chkdsk

我怎样才能运行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在我的救援棒上。

调整此程序以适合您自己的救援棒!

相关内容