我正在使用具有持久功能的 16GB 实时 USB,因此我可以在多台计算机上工作。
对我来说,这很好用,直到我的 USB 闪存驱动器上的持久文件被填满。由于 FAT32 的文件大小限制为 <4GB,因此我想为 casper-rw 使用更大的分区(ext2/ext3/ext4),而不仅仅是扩大文件。驱动器有超过 8GB 的可用空间。
我知道如何使用 Gparted 来创建该分区,以及我的 casper-rw 文件在哪里。
我的问题是,如何将现有 casper-rw 文件的内容传输到新分区?
我不想丢失我添加的所有设置和已安装的程序。我只是想要更多的空间(不受 FAT32 限制)以保存。
答案1
有两种方法可以复制 casper-rw 内容。
使用dd
命令
sudo dd if=/path/to/casper-rw of=/dev/<partition>
然后使用 Gparted 或 resize2fs 调整新分区的大小
使用cp
命令
sudo mkdir /mnt/casper-rw /mnt/target
sudo mount -o loop /path/to/casper-rw /mnt/casper-rw
sudo mount /dev/sdbX /mnt/target
cp -r /mnt/casper-rw/* /mnt/target
因此 /dev/sdbX 不需要调整大小
答案2
使用 GParted 创建新分区。使用以下命令挂载新分区和原始 casper-rw 分区:
sudo mkdir /mnt/casperx
sudo mount /dev/sdax /mnt/casperx
然后使用 nautilus 或终端将原始 casper-rw 分区中的所有文件复制到新分区:
cp -r /mnt/original/* /mnt/casperx
一旦传输完所有文件,请验证所有文件是否都在那里,然后您可以删除原始 FAT 分区并使用 resizefs 调整新的 ext4 分区的大小,如下所示:http://www.pendrivelinux.com/how-to-create-a-larger-casper-rw-loop-file/。
答案3
在传输 casper-rw 文件之前,请考虑使用另一个 Linux 实时系统检查已卸载的 casper-rw 文件系统:
$ sudo losetup /dev/loop0 /datas/casper-rw
$ sudo tune2fs -l /dev/loop0 | grep stat
Filesystem state: not clean
$ sudo fsck /dev/loop0
fsck from util-linux 2.25.1
e2fsck 1.42.10 (18-May-2014)
casper-rw was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
casper-rw: 94821/262144 files (0.2% non-contiguous), 829517/1048575 blocks
$ sudo tune2fs -l /dev/loop0 | grep stat
Filesystem state: clean
$ sudo losetup -d /dev/loop0
现在,您可以使用命令将 casper-rw 文件克隆到您选择的分区dd
。