首页 > 解决方案 > 如何将 64GB USB 的文件系统从 FAT32 更改为任何允许我将 x86_64 Linux 机器上的 35GB 文件放到 USB 上的文件系统?

问题描述

我机器上的“uname -a”给出:

Linux ct-lt-966 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64 GNU/Linux

目前我的 USB 文件系统是 MS-DOS 'FAT32',单个文件的最大大小约为 4.5 GB。我想将此文件系统更改为其他没有限制的文件系统。(我正在尝试将 35GB 文件放到 64GB USB 上,但我相信大多数 USB 文件系统不会限制单个文件的大小)。

我还不清楚我有哪些 USB 文件系统的选择。我试图将文件系统更改为“NTFS”,但无法安装或定位“mkfs.ntfs”甚至“ntfsprogs”。(我也尝试使用 'pacman' 和 'yum' 进行安装,但显然 'pacman' 需要 aarch 架构,我无法访问 'yum-config-manager' 以启用任何 repos)。

所以总而言之,以我最小的实力,我只是在寻找任何方法将我的 64GB USB 的文件系统更改为任何可以接受我机器上的 35GB 文件的东西。

谢谢

编辑 1:只是打算在这台 Linux 机器上使用 USB,而不是 Windows。

标签: linuxfilesystemsusbntfsfat32

解决方案


如果你想要的棒上没有任何东西,或者可以安全地删除它,那么基本上:

  • 从记忆棒中删除当前的 FAT32 分区
  • 添加一个新分区,利用设备的完整大小
  • 在新分区上创建一个 ext4 文件系统

请注意此过程:选择错误的设备可能会删除您需要的磁盘,例如$HOME您的根操作系统

以下所有内容均来自内存且未经测试:我现在没有可用的 USB 记忆棒进行全面测试。

首先插入控制棒,同时在控制台中跟踪系统日志,然后查看它的安装位置(如果它是基于桌面的 Linux,则希望它自动安装它应该运行的位置。如果它是服务器,则可能不会)..

sudo tail -f /var/log/syslog

(可能/var/log/messages取决于发行版)

然后插棒。syslog 应该显示它被分配了一个设备和一个挂载点。如果您在 GUI 中,可能会根据您的配置打开文件管理器窗口。例如,您可能会看到它正在加载/dev/sdc1并安装在/media/<yourusername>/USBKEY某处。

通过运行确认lsblk并记下密钥的设备,即

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 167.7G  0 disk 
├─sda1   8:1    0  69.9G  0 part /
└─sda2   8:2    0  97.9G  0 part /home
sdb      8:16   0 149.1G  0 disk 
└─sdb1   8:17   0 149.1G  0 part /mnt/snapshots
sdc      8:32   0 931.5G  0 disk 
└─sdc1   8:33   0 931.5G  0 part /storage
sdd      8:48   0 465.8G  0 disk 
└─sdd1   8:49   0 465.8G  0 part /mnt/backup
sr0     11:0    1  1024M  0 rom  

卸下摇杆(如果已安装)但将其插入。假设您的设备再次处于/dev/sdc1...

umount /dev/sdc1

cfdisk如果你有它(更友好),现在在终端中运行,或者fdisk如果没有,将与你的 USB 记忆棒相关的设备传递给它,不带分区号。

man cfdisk
sudo cfdisk /dev/sdc

这应该显示当前的 FAT32 分区。删除它,然后创建一个类型为“Linux”的新分区,遵循开始和结束块的默认设置,建议以填充可用空间的方式。

完成后,选择Write更改选项。再次,双重和三重检查你有正确的设备,否则你可能会炸毁你的主磁盘。

写入更改后,您可以创建ext4文件系统;

sudo mkfs.ext4 /dev/sdc1

完成后,您应该能够重新插入您的记忆棒并发现它重新安装,这一次使用可以容纳大文件的文件系统。

这不是实现这一目标的唯一方法,但它可能是最不繁琐的。为了重复,不要弄错设备标识符。如果您不确定,请询问。


推荐阅读