当我在 Windows 下将驱动器格式化为 NTFS 并将其插入 Ubuntu 机器时,它完全可用。但是当我在 Ubuntu 下使用磁盘对其进行格式化(删除所有分区并使用 NTFS 创建一个单独的分区)时,插入 Windows 机器时它不会显示出来。
请注意,在两种情况下,USB 驱动器都只包含一个格式化为 NTFS 的主分区,例如:
/dev/sdb
- 实际设备/dev/sdb1
- 唯一的主分区
我使用固态 USB 笔式驱动器以及外部 USB 磁性 HDD 都观察到了这种行为。
如何在 Ubuntu 下将 USB HDD 或闪存盘重新格式化为 NTFS,以便可以在 Windows 下使用?
答案1
gparted
(GNU 分区编辑器)是一款出色的图形工具,可用于将驱动器格式化为各种不同的文件系统类型。您可以使用 来安装它sudo apt-get install gparted
。
就像使用磁盘时一样,请务必小心,确保对正确的设备进行更改。您可以按照以下步骤将设备格式化为 NTFS:
- 从右上角的下拉选择器中选择正确的设备。
- 删除设备上已存在的所有分区。
- 使用所有可用空间创建一个新分区,并将类型设置为
ntfs
- 点击“应用”按钮并等待操作完成
如果 Windows 仍然无法识别该设备,则分区表的类型可能与 MS-DOS 类型不同(我认为 Ubuntu 默认使用 gpt 分区类型)。单击菜单中的“查看 >> 设备信息”以查看分区表类型。在这种情况下,使用“设备 >> 创建分区表”菜单选项将分区表类型更改为 MS-DOS。您可能必须再次按照上述步骤创建 NTFS 分区。
答案2
和mkntfs
安装mkntfs
包提供的ntfs-3g
:
sudo apt-get install ntfs-3g
lsblk -f
使用或查找 USB 驱动器的分区df -Th
。我们假设它位于/dev/sdb1
。
使用 卸载驱动器umount /dev/sdb
,否则您将收到错误
/dev/sdb1 is mounted.
Refusing to make a filesystem here!
然后格式化分区:
sudo mkntfs --fast --label myUsbDrive /dev/sdb1
如果成功,您将看到如下消息:
Cluster size has been automatically set to 4096 bytes.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.
答案3
事实上,Ubuntu 磁盘实用程序创建了具有错误 ID 的分区:
$ sudo fdisk /dev/sdc 欢迎使用 fdisk (util-linux 2.27.1)。 更改将仅保留在内存中,直到您决定写入它们。 使用写入命令前请务必小心。 命令(m 获取帮助):p 磁盘 /dev/sdc:57,9 GiB,62109253632 字节,121307136 个扇区 单位:扇区 1 * 512 = 512 字节 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xcee48da0 设备启动开始结束扇区大小ID类型 /dev/sdc1 2048 121307135 121305088 57,9G83 Linux 命令(m 获取帮助):q
当您使用 GParted 创建分区时,该分区将使用正确的 id 创建,并且在 Windows 下完全可见:
$ sudo fdisk /dev/sdc 欢迎使用 fdisk (util-linux 2.27.1)。 更改将仅保留在内存中,直到您决定写入它们。 使用写入命令前请务必小心。 命令(m 获取帮助):p 磁盘 /dev/sdc:57,9 GiB,62109253632 字节,121307136 个扇区 单位:扇区 1 * 512 = 512 字节 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x0bce1084 设备启动开始结束扇区大小ID类型 /dev/sdc1 2048 121307135 121305088 57,9G7 HPFS/NTFS/exFAT 命令(m 获取帮助):q $
总是可以使用 fdisk 更改分区类型,但结论是最好始终使用 GParted。
也许我们应该向磁盘开发人员提交一张错误单?
答案4
我已经成功完成了这项任务分区,正如已经建议的那样。
也可以让韓國创建一个持久实时驱动(使用标准 Ubuntu 或社区风格:Kubuntu、Lubuntu ... Xubuntu)。在此过程中,分区#1 将被创建为 NTFS 分区,以便与 Windows 共享数据。
$ sudo lsblk -o model,name,size,fstype,label,mountpoint /dev/sdd MODEL NAME SIZE FSTYPE LABEL MOUNTPOINT DT Workspace sdd 29,1G ├─sdd1 14G ntfs usbdata ├─sdd2 1M ├─sdd3 244M vfat usbboot ├─sdd4 893M iso9660 Lubuntu 16.04.1 LTS amd64 └─sdd5 14G ext4 casper-rw $ sudo parted /dev/sdd print Model: Kingston DT Workspace (scsi) Disk /dev/sdd: 31,2GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 2 1049kB 2097kB 1049kB primary bios_grub 3 2097kB 258MB 256MB fat32 primary boot, esp 4 258MB 1194MB 936MB primary 5 1194MB 16,2GB 15,0GB ext2 primary 1 16,2GB 31,2GB 15,0GB ntfs primary msftdata
- 分区#1 位于驱动器的末尾,但分区表中的编号决定 Windows 是否可以看到它。
msftdata
如果您使用 GUID 分区表 GPT,则根据列出的输出获取标志会有所帮助parted
。Windows 第一次看到 USB 闪存盘时,可能会想要修复它。回答是,让它尝试修复它。Windows 会响应“未发现错误”之类的内容,但它会做一些事情(可能在某处写入),表明它已看到分区并将其标记为“良好”,因为下次它不会想要修复它。
您可以在以下链接中找到更多详细信息,