Ren*_*jam 5 partitioning parted
我正在尝试在我的 linux 机器中调整一个胖 32 分区的大小。以下是系统的规格。
编辑:从这个分区备份数据不是我想要的。我想看看是否有一种方法可以在不丢失数据的情况下尝试。它更像是分析而不是任务。
到目前为止我尝试过的:尝试使用 parted 工具,因为 gparted 需要一个 UI。尽管我能够缩小这个分区,但由于文件碎片,它会导致不必要的问题。例如,当我运行文件系统检查时缩小后,我收到了一些错误,比如没有找到几个文件的链。
我不能使用像 resizee2fs 这样的工具,因为它只支持 ext 文件系统(如果我在这里错了,请纠正我)。
我尝试使用工具 fatresize,尽管我能够成功地将它安装在我的 debian 中,但我无法获得 arm 的可安装程序,无论我获得什么链接,都会在第 1 行语句本身上引发错误。
有人可以帮我提供他们能提供的任何信息吗?
注意:首先,请备份您的数据,以防万一。
\n将 sda1 大小从 28G 调整为 10GB 的测试。
\n//检查分区大小
\nubuntu$ sudo mount /dev/sda1 /media/chen/test\n\nubuntu$ lsblk /dev/sda\nNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT\nsda 8:0 1 28.9G 0 disk \n\xe2\x94\x94\xe2\x94\x80sda1 8:1 1 28.9G 0 part /media/chen/test\nRun Code Online (Sandbox Code Playgroud)\n//检查文件系统大小
\nsudo fatresize -i /dev/sdXX\nRun Code Online (Sandbox Code Playgroud)\nubuntu$ sudo fatresize /dev/sda1 -s 10G -p -v\nfatresize 1.0.2 (06/16/18)\n.Error: Partition /dev/sda1 is being used. You must unmount it before you modify it with Parted.\n\nubuntu$ sudo umount /dev/sda1\n\n\nubuntu$ sudo fatresize /dev/sda1 -s 10240M -p -v\nfatresize 1.0.2 (06/16/18)\n.FAT: fat32\nSize: 30985420800\nMin size: 2483422208\nMax size: 30989615104\nRun Code Online (Sandbox Code Playgroud)\n// gparted 似乎不会改变 fs 大小,如果没有这一步,将会得到一个损坏的 fs,说:fs 比体积大:
\nubuntu$ sudo dosfsck /dev/sda1\nfsck.fat 4.1 (2017-01-24)\nSeek to 30985420288:Invalid argument\n\nubuntu$ sudo fatresize /dev/sda1 -s 9G -p -v\nfatresize 1.0.2 (06/16/18)\n.Error: The file system is bigger than its volume!\nRun Code Online (Sandbox Code Playgroud)\n在 gparted GUI 中调整 sda1 部分大小\n//partx cli 也可以执行此操作。
\nubuntu$ lsblk /dev/sda\nNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT\nsda 8:0 1 28.9G 0 disk \n\xe2\x94\x94\xe2\x94\x80sda1 8:1 1 10G 0 part \n\nubuntu$ sudo blkid /dev/sda*\n/dev/sda: PTUUID="d45b4904" PTTYPE="dos"\n/dev/sda1: UUID="0403-0201" TYPE="vfat" PARTUUID="d45b4904-01"\nRun Code Online (Sandbox Code Playgroud)\nubuntu$ sudo mount /dev/sda1 /media/chen/test\n\nubuntu$ df -h /media/chen/test\nFilesystem Size Used Avail Use% Mounted on\n/dev/sda1 10G 2.4G 7.7G 24% /media/chen/test\n\nubuntu$ sudo dosfsck /dev/sda1\n...\nRun Code Online (Sandbox Code Playgroud)\n看来 gparted 会在步骤 1 中调整 fat fs 的大小。
\n// 但如果安装了 fs,它可能会失败,但不会挂起
这是正常的日志和结果:
\n\n好吧,首先,如果您“已经拥有文件形式的数据。我不能丢失它们”,那么您的第一步就是在执行其他操作之前备份它们。
调整大小和移动分区通常不会导致数据丢失,如果其他方法都失败,您几乎总是可以使用 photorec 来恢复文件 - http://www.cgsecurity.org/wiki/PhotoRec - 这样做很痛苦。
其次,您无法调整或移动正在使用的分区的大小。这是人们建议您通过实时 USB 进行这些操作的主要原因。
因此,无论如何,如果不启动到实时 USB,您就无法移动或调整根分区的大小(添加到 LVM 是一个例外)。
只要相关分区未使用(即未安装),您就可以移动它们并调整其大小:
请参阅如何在服务器上使用命令行调整分区大小而不使用 GUI?
否则,您的问题可能会因以下原因而被关闭:
您正在运行 Debian
缺乏信息 - 您没有发布您的分区方案,告诉我们您想要移动什么,安装了哪些分区,以及您收到什么命令和错误消息。
你最好将数据以文件的形式复制到一个安全的地方(如果你愿意的话,可以称之为备份),但在这种情况下也是一个临时位置,因为我认为你必须接受你不能用linux缩小FAT文件系统工具。您也许可以使用 Windows 工具来完成此操作(FAT32 是 Microsoft 文件系统。)
因此,当您将文件形式的数据复制到安全的地方后,您可以
从另一个驱动器启动并卸载该驱动器中您想要更改的所有分区
编辑分区(最简单的方法是删除 FAT32 分区并创建一个具有所需大小的新分区。
在新分区中创建FAT32文件系统
对分区表进行其他修改...
将文件从安全位置复制到新的 FAT32 分区。