我想知道是否有办法手动创建 casper -rw 文件以实现持久性,即通过终端。我一直在使用具有持久性的 Ubuntu 14.04 Live USB,它在过去两周内运行良好。昨晚,我安装了一堆应用程序(或者至少我认为是这样),然后出现了一些错误,之后终端冻结了。我不知道出了什么问题,所以我只是强制关机然后睡着了。
今天早上,我尝试启动上网本,grub 菜单后屏幕变黑,然后就一直这样。我想我一定是不小心更新了内核,搞乱了系统。所以我在上网本中插入了另一个装有另一个操作系统的 USB,启动,浏览到 casper -rw 文件所在的驱动器并将其删除。
这解决了一个问题。我可以正常启动 Ubuntu,只是我没有持久性。那么有没有办法在我运行 Ubuntu 时手动创建持久性文件?我不想再进行全新安装,因为我只有两个驱动器(一个用于备份,一个用于 Ubuntu),而且我的备份驱动器正在运行 Porteus,由于某些模块问题,它总是无法创建可启动的 USB。
我还想知道是否有办法阻止 Ubuntu 更新内核,以免将来再次遇到同样的情况。谢谢!
答案1
1) 要通过终端创建 casper-rw,您可以依次输入以下 2 个命令,将 512 替换为您想要的 casper-rw 文件大小的任何其他 MB 数:
dd if=/dev/zero of=casper-rw bs=1M count=512
mkfs.ext3 -L casper-rw -F casper-rw
2)为了防止内核升级,你可以安装Synaptic 软件包管理器,选择已安装linux 映像包 (linux-image-xxxxxxxxxx),然后选择软件包 > 锁定版本从菜单中。
答案2
使用启动选项启动toram
使用启动选项进行启动(仅实时)toram
,能够对启动驱动器执行“任何操作”,对其进行编辑或拔下它,而不会影响正在运行的操作系统。
toram
使 iso 文件中的原始内容复制到 RAM(并且它将被安装上/cdrom
)。
现在你可以卸载启动驱动器上的所有分区。这意味着你将可以编辑分区表,甚至安装操作系统。
创造持久力的方法
您可以使用以下方法来创建持久性
以读写权限挂载 FAT32 分区并创建casper-rw 文件正如您的问题的其他答案中所述,文件内部有一个文件系统。
如果你通过 grub 启动,请使用分区缩小 FAT32 分区,然后使用未分配的空间创建一个具有 ext2 文件系统或(ext4 文件系统,以后会删除日志功能)的新分区并添加标签
casper-rw
。此分区可以大于 4 GB,这是一个很大的优势。(通过 syslinux 启动时,Ubuntu 无法在同一驱动器(启动驱动器)中使用 casper-rw 分区进行持久保存,但如果 casper-rw 分区位于另一个驱动器中,则可以。)安装韓國暂时并使用它来创建一个新的持久实时驱动器,但在这种情况下,我真的建议您购买一个新的廉价 USB 驱动器,您可以将其用于实时系统,并将持久实时系统安装到另一个驱动器中。
下载和从压缩图像文件克隆到持久的实时系统或已安装的系统(如安装在手机和 Raspberry Pi 等小型设备中的系统)。这可以在 Ubuntu 中使用 mkusb 完成,在 Windows 中使用 Win32DiskImager 完成。
链接
help.ubuntu.com/community/Installation/FromUSBStick#Notes_about_speed
在安装之前先试用 Ubuntu(Kubuntu、Lubuntu、Xubuntu 等)
help.ubuntu.com/community/Installation/UEFI-and-BIOS
help.ubuntu.com/community/mkusb/persistent
答案3
如果 casper-rw 文件位于 FAT32 格式的设备上(许多可启动 USB 驱动器都使用该设备),您可能需要考虑:
dd if=/dev/zero of=/cdrom/casper-rw bs=1MiB count=4095
dd
:写入原始数据的命令if=/dev/zero
:从生成 noll(0 值)字节的设备读取。of=/cdrom/casper-rw
:casper-rw 文件所在的输出文件。您可能需要根据安装位置更改此设置。实时 Ubuntu 系统通常将根设备(USB 棒或 CD/DVD)安装在 /cdrom 处。bs=1MiB
:告诉dd
要写入多大的块。1MiB = 1024 * 1024 字节。count=4095
:FAT32 上的文件大小最大可达 4GB。4095 * 1MB 略小于 4GB。
您可能需要/cdrom
以读写方式挂载(或挂载可启动设备的任何位置):
mount | grep /cdrom
你应该看到如下一行:
/dev/sdb1 on /cdrom type vfat (ro,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
本例中设备/cdrom
安装在 上/dev/sdb1
。要以读写方式安装,您需要执行以下操作:
mount /dev/sdb1 /cdrom -o remount,rw
这将安装已经安装的 USB 驱动器,其/cdrom
选项remount,rw
字面意思是remount read-write
然后您可以使用 dd 命令创建持久文件并使用上面提到的 mkfs 命令对其进行格式化。
注意:您可能需要重新启动才能使持久文件生效。
答案4
我正在使用 16.04。我使用 YUMI 创建 USB。我创建了新的持久文件并从旧文件切换到它。
创建新的持久文件。
sudo dd if=/dev/zero of=test bs=1M count=1024
在制作fs的时候,加上标签“casper-rw”。这是强制性的。
sudo mkfs.ext3 -L casper-rw -F test
将文件从旧映像复制到新映像。我使用 tar 来复制文件,因为当我使用'cp -ar *'复制文件时,操作系统挂起了。
mkdir mnt1 mnt2
sudo mount casper-rw mnt1
sudo mount test mnt2
cd mnt1
sudo tar cvpzf ../backup.tgz * 2> ../error.log
cd ../mnt2
sudo tar zxvf ../backup.tgz 2> ../error2.log
更改grub配置中的持久文件名。持久文件名可以与“casper-rw”不同。我使用YUMI创建USB。grub配置文件是“ubuntu.lst”。YUMI使用grub4dos 0.4.6a。
set CASPER=/multiboot/ubuntu-mate-16.04.2-desktop-amd64/casper-rw
↓
set CASPER=/multiboot/ubuntu-mate-16.04.2-desktop-amd64/test
或者您可以在 Windows 机器上将测试重命名为 casper-rw。