我正在运行 Ubuntu 18.4 LTS,我正在尝试将 USB 驱动器格式化为 NTFS 格式。但是当我运行sudo mkfs.ntfs /dev/mmcblk0,它开始用零填充驱动器,当大约 10% 时,屏幕变黑,什么也不做,当我按下电源直到它关闭,然后再次按下电源时,我启动到 bios,它说没有可启动驱动器。我在 Bodhi Linux 也遇到了这个问题。
答案1
你在做什么
但是当我运行 sudo mkfs.ntfs /dev/mmcblk0
设备名称/dev/mmcblk0
通常用于通过 PCI 连接的存储卡。USB 驱动器(U 盘或通过 USB 连接的存储卡)应显示为/dev/sdx
,其中 x 是字母(a 或 b 或 c ...)。
如果您确实有 USB 驱动器,则该工具可能会将
mkfs
零写入名为 的常规文件/dev/mmcblk0
,而这根本不是您想要的。如果发生这种情况,您最好删除该文件,if test -f /dev/mmcblk0; then sudo rm /dev/mmcblk0; fi
如果它是笔记本电脑中通过 PCI 连接的插槽中的卡,则请在卡上写入零。
最糟糕的情况是计算机通过 PCI 连接到内置驱动器,从而被识别为
/dev/mmcblk0
。我还没有遇到过这样的计算机(Raspberry Pi 除外),但这种情况是有可能的。在这种情况下,内置驱动器会被零覆盖,这真的很糟糕。(现代高性能笔记本电脑使用 nvme 驱动器,它们也通过 PCI 连接,但被视为/dev/nvme0n1
,这样的计算机应该像使用标准 SATA 驱动器的计算机一样做出反应:创建一个常规文件。)
有效的方法
与其写入设备本身,不如创建分区表并在分区中创建 NTFS 文件系统。您可以使用gparted
,如果您运行图形桌面环境。
- 首先选择‘设备’--‘创建分区表’,
- 然后创建一个具有 NTFS 文件系统的分区。
这很容易,相当安全(相对而言,编辑分区和创建文件系统总是有风险的)。
否则,在文本模式下您可以
- 首先运行
fdisk
并创建分区表 - 然后在运行时
fdisk
创建一个分区 然后运行
mkfs.ntfs -v -f -L mmcdata /dev/mmcblk0p1 # for a card via PCI mkfs.ntfs -v -f -L usbdata /dev/sdx1 # for a USB drive
其中 x 是 USB 驱动器的设备号。请反复检查您是否正在写入正确的驱动器,因为这些命令是有风险的。
它开始用零填充驱动器
选项 -f 使工具在格式化之前跳过将驱动器归零(并且也跳过检查坏扇区)。
选项 -v 'verbose' 使工具显示其正在执行的操作
- 选项 -L 放置标签以帮助识别分区
如果仍然不起作用该怎么办
如果仍然不起作用,我们可以怀疑卡或 USB 驱动器已损坏。您可以根据以下链接分析并解决问题,该链接是 AskUbuntu 上的另一个问答:
答案2
mmcblk0 几乎总是内部 emmc/sd 设备,而 USB 驱动器/读卡器通常是大容量存储器,因此它是 /dev/sdX。99% 的可能性是 OP 格式化了他的内部启动驱动器。