除非您考虑chkdsk.exe在wine或虚拟化下运行,否则Linux 无法运行它。有一个 linux 兼容工具可用于修复 ntfs 分区,该工具ntfsfix可在大多数发行版存储库中调用并提供。
它不是 Linux 的 chkdsk,可能无法产生与 Microsoft Windows 兼容的结果,但是它能够修复一些常见的 ntfs 可能问题。它可能会在尝试修复时丢失您的数据,即使 chkdsk 也可能会这样做。用法示例:
ntfsfix /dev/sdxY
Run Code Online (Sandbox Code Playgroud)
您应该用xY要修复的分区的适当字母替换的位置。
我在Hiren 的 BootCD上使用 MiniXP 。包含的版本 5.1.2600.0 有点过时,但可以完成工作。
这样,我只需在救援棒上添加另一个启动项即可获得 chkdsk.exe 的全部功能!
这是我使用空USB 棒的手动、分步、仅限 Linux 的方法:
在终端中启动bash会话
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
Run Code Online (Sandbox Code Playgroud)
插入您要使用的 U 盘:小心!其上的所有内容都将被删除!
确定摇杆的装置:
dmesg
Run Code Online (Sandbox Code Playgroud)
或者
journalctl
Run Code Online (Sandbox Code Playgroud)
或者
less /var/log/syslog
Run Code Online (Sandbox Code Playgroud)
注意设备和分区:
USB_STICK= # e.g. /dev/sdb
USB_STICK_PARTITION=${USB_STICK}1
Run Code Online (Sandbox Code Playgroud)
重新检查一下:
/sbin/fdisk -l $USB_STICK
Run Code Online (Sandbox Code Playgroud)
检查是否已安装:
mount | grep $USB_STICK
Run Code Online (Sandbox Code Playgroud)
如果是:卸载设备或分区
sudo umount ${USB_STICK}{,{1..4}}
Run Code Online (Sandbox Code Playgroud)
清除它:
sudo dd if=/dev/zero of=$USB_STICK count=10000
Run Code Online (Sandbox Code Playgroud)
下载syslinux:
wget https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.tar.gz
Run Code Online (Sandbox Code Playgroud)
提取它:
tar xzf syslinux-6.03.tar.gz
Run Code Online (Sandbox Code Playgroud)
写入主引导记录:
sudo dd if=syslinux-6.03/bios/mbr/mbr.bin of=$USB_STICK
Run Code Online (Sandbox Code Playgroud)
创建一个FAT32分区,例如
echo ,,c,\* | sudo sfdisk $USB_STICK
Run Code Online (Sandbox Code Playgroud)
格式化它:
sudo mkfs.vfat -n MINIXP -v $USB_STICK_PARTITION
Run Code Online (Sandbox Code Playgroud)
使其可启动:
sudo syslinux-6.03/bios/linux/syslinux --install $USB_STICK_PARTITION
Run Code Online (Sandbox Code Playgroud)
复制内容:
mkdir usb
sudo mount -o uid=$UID $USB_STICK_PARTITION usb
cp -rv iso/* usb
Run Code Online (Sandbox Code Playgroud)
创建配置文件:
echo "default minixp\nlabel minixp\nboot /HBCD/grldr" >usb/syslinux.cfg
Run Code Online (Sandbox Code Playgroud)
将MiniXP设置为默认值:
sed -i '/^default/s|/default|2|' usb/HBCD/menu.lst
Run Code Online (Sandbox Code Playgroud)
整理:
sudo umount $USB_STICK_PARTITION
sudo umount iso
cd ..
rm -r d1
Run Code Online (Sandbox Code Playgroud)
完毕!
我删除了 Parted Magic 和大病毒的东西,并将其在我的救援棒上减少到200MB 。
调整此程序以适合您自己的救援棒!
| 归档时间: |
|
| 查看次数: |
52867 次 |
| 最近记录: |