手动创建 Casper -rw 文件

手动创建 Casper -rw 文件

我想知道是否有办法手动创建 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 完成。

链接

askubuntu.com/questions/928755/can-you-install-the-os-onto-the-usb-you-are-using-to-boot-the-iso-from/928777#928777

是的,它适用于以下配方:-)

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

help.ubuntu.com/community/mkusb/sp

wiki.ubuntu.com/Win32DiskImager

答案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。

相关内容