如何将实时会话中所做的更改保存到硬盘?

如何将实时会话中所做的更改保存到硬盘?

我有 Ubuntu 13.10,并且正在运行实时映像,并按照教程在 grub 中进行输入:http://www.tecmint.com/run-linux-live-images-from-hard-disk-in-linux。那么有什么方法可以让更改持续存在吗?我想保存一些更改,比如我的无线驱动程序,所以如果我能这样做,我每次启动时就不必安装驱动程序了。

答案1

设置你的 USB 记忆棒

设置用作 Live CD 持久存储设备的设备相当简单。我们只需对其进行分区和格式化,同时为其赋予 Live CD 可识别的特殊名称。虽然您可以使用 CD 可见的任何设备进行持久存储,但在本例中我们将讨论使用 USB 棒,因为它们现在非常常见并且相对便宜。存储设备没有最小大小要求,但自然地,您的存储空间越大,您可以安装的应用程序和可以保存的设置就越多。

将您的 USB 插入计算机并为 Live CD 持久性做好准备。

笔记:如果您之前按照本页上针对“casper-cow”的说明操作但没有成功,那是因为它应该读取“casper-rw”。

笔记2:以下说明中使用了 ext3 文件系统。但是对于空间紧张的记忆棒,ext2 文件系统将占用较少的开销,可能已经足够满足此目的。

注3:这些说明使用了所有终端命令,其中许多命令看起来相当严肃。但是,所有这些都可以使用系统 -> 管理菜单中的图形 Gnome 分区编辑器工具来完成。例外是给分区一个标签,为此,您仍然需要转到终端并发出命令

sudo e2label /dev/<yourpartition> casper-rw

确定你的 USB 设备是哪种设备

笔记:如果您愿意,您可以使用 GPartEd 来识别并将 USB 拇指驱动器格式化为 ext3(或其他兼容格式),然后直接跳至“创建“casper-rw”文件系统”部分。

为了对 USB 进行分区和格式化,我们首先需要确定您的计算机将其识别为哪个设备以及它的挂载点是什么。要查找此信息,请运行以下命令:

df -h

df -h 的输出应如下所示:

Filesystem Size Used Avail Use% Mounted on

/dev/hda1 187G 4.0G 183G 3% /

varlock 9.3G 507M 8.8G 6% /var/lock

udev 506M 156K 506M 1% /dev

devshm 506M 0 506M 0% /dev/shm /dev/hdb3 7.5G 1.4M 7.5G 1% /tmp

/dev/hdb2 9.3G 507M 8.8G 6% /var

/dev/sda1 124M 31M 94M 25% /media/USB DISK

如您所见,在我的计算机上,我的 USB 棒是列表中的最后一个条目,显示为 /dev/sda1,并安装在 /media/USB DISK 上,可供访问。现在我们知道了 USB 棒的位置,让我们继续对其进行正确的分区。

对你的 USB 进行分区

对 USB 进行分区是一项相当简单的任务,只需几个简单的步骤。要对 USB 进行分区,我们将使用命令 fdisk,因此运行以下命令来启动该过程(将 /dev/sda 替换为您的设备路径):

sudo fdisk /dev/sda

无需深入了解如何使用 fdisk(这超出了本文档的范围),这里介绍如何通过删除任何现有分区并创建一个新分区来对 USB 进行分区。

首先在命令提示符下输入“p”,然后点击打印当前分区表。此命令的输出应如下所示:

 Command (m for help): p

 Disk /dev/sda: 130 MB, 130023424 bytes
 16 heads, 32 sectors/track, 496 cylinders
 Units = cylinders of 512 * 512 = 262144 bytes

 Device Boot      Start         End      Blocks   Id  System
 /dev/sda1   *           1         496      126960    6  FAT16

同样,对于此示例,我们将删除所有现有分区,因此现在在命令提示符下键入“d”。然后输入要删除的分区号。对 USB 棒上的每个分区重复此过程,直到它们全部被删除。以下是您的会话可能是什么样子的示例:

 Command (m for help): d
 Partition number (1-4): 1

 Command (m for help): d
 Partition number (1-4): 2

 Command (m for help): d
 Partition number (1-4): 3

 Command (m for help): d
 Selected partition 4

 Command (m for help): p

 Disk /dev/sda1: 130 MB, 130007040 bytes
 16 heads, 32 sectors/track, 495 cylinders
 Units = cylinders of 512 * 512 = 262144 bytes

Device Boot      Start         End      Blocks   Id  System

命令(m 获取帮助):

如您所见,我们现在已经删除了 USB 上的所有分区。现在我们可以通过在命令提示符下输入“n”然后输入所需的分区号来创建一个新分区。完成后,输入“w”并点击将分区表更改写入您的 USB 棒。这是我的会话的输出:

 Command (m for help): n
 Command action
   e   extended
   p   primary partition (1-4)
 p
 Partition number (1-4): 1
 First cylinder (1-495, default 1):
 Using default value 1
 Last cylinder or +size or +sizeM or +sizeK (1-495, default 495):
 Using default value 495

 Command (m for help): w
 The partition table has been altered!

 Calling ioctl() to re-read partition table.

 WARNING: Re-reading the partition table failed with error 22: Invalid argument.
 The kernel still uses the old table.
 The new table will be used at the next reboot.
 Syncing disks.

现在我们已经设置好了分区表,让我们来格式化它。

创建“casper-rw”文件系统

格式化你的 USB 棒也是一项非常简单的任务。首先,我们将卸载设备以便对其进行格式化,然后对其进行格式化。

首先运行以下命令卸载你的 USB 记忆棒:

sudo umount /dev/sda1

现在您的 USB 已卸载,我们可以对其进行格式化。唯一需要特别注意的是,我们必须为格式化的分区赋予标签“casper-rw”。这是 Live CD 用来存储持久信息的名称。您可以通过发出以下命令正确格式化您的 USB:

sudo mkfs.ext3 -b 4096 -L casper-rw /dev/sda1

此命令的输出应如下所示:

 mke2fs 1.38 (30-Jun-2005)
 Filesystem label=casper-rw
 OS type: Linux
 Block size=4096 (log=2)
 Fragment size=4096 (log=2)
 31744 inodes, 31740 blocks
 1587 blocks (5.00%) reserved for the super user
 First data block=0
 1 block group
 32768 blocks per group, 32768 fragments per group
 31744 inodes per group

 Writing inode tables: done
 Creating journal (1024 blocks): done
 Writing superblocks and filesystem accounting information: done

 This filesystem will be automatically checked every 20 mounts or
 180 days, whichever comes first.  Use tune2fs -c or -i to override.

笔记:本示例使用 ext3 文件系统,但几乎任何文件系统都可以。无法使用的文件系统是 VFAT 和 NTFS

现在我们已经创建并格式化了分区,剩下要做的就是使用它。所以让我们开始使用它吧!

__使用环回文件__

您可以使用硬盘上的文件来存储持久信息,而不是使用 USB 记忆棒。该文件必须命名为 casper-rw,并且必须位于分区的根目录下。此分区可以是任何可以自动挂载的类型(例如 vfat 或 ext3)。(如果文件是在 USB 记忆棒的根分区上创建的,持久模式仍然有效。)

以下命令假定分区安装在 /media/hda1 上。您可以使用任何分区;甚至 / 也可以。将在此分区上创建一个大小为 128 MB 的文件。要更改大小,请修改“dd”命令的 count 参数。

dd if=/dev/zero of=/media/hda1/casper-rw bs=1M count=128

 128+0 records in
 128+0 records out
 134217728 bytes transferred in 0.947819 seconds (141606919 bytes/sec)

mkfs.ext3 /media/hda1/casper-rw

 mke2fs 1.38 (30-Jun-2005)
 /media/hda1/casper-rw is not a block special device.
 Proceed anyway? (y,n) y
 Filesystem label=
 OS type: Linux
 Block size=1024 (log=0)
 Fragment size=1024 (log=0)
 32768 inodes, 131072 blocks
 6553 blocks (5.00%) reserved for the super user
 First data block=1
 16 block groups
 8192 blocks per group, 8192 fragments per group
 2048 inodes per group
 Superblock backups stored on blocks:
    8193, 24577, 40961, 57345, 73729

 Writing inode tables: done
 Creating journal (4096 blocks): done
 Writing superblocks and filesystem accounting information: done

 This filesystem will be automatically checked every 23 mounts or
 180 days, whichever comes first.  Use tune2fs -c or -i to override.

就是这样!您现在可以按照下面的说明启动 Live CD。

以持久模式启动 Live CD

现在我们可以享受劳动成果了。确保您的 USB 已插入计算机,然后将之前下载并刻录的 Live CD 放入 CD 驱动器(如果尚未放入)。重新启动计算机并使用此 Live CD 启动。

重启之前,你只需要记住两件事。当 Live CD 菜单显示时,按下键进入“其他选项”。这将显示 Live CD 传递给内核的参数。在这个参数列表的末尾只需添加一个空格并添加单词“persistent”。这将指示 Live CD 维护和使用持久性。就这些。开始吧!

注意:使用 Flight 5 时,您需要在 Live CD 会话中创建一个新用户(转到系统 -> 管理 -> 用户 + 组,然后按“添加用户”按钮)以便保存您的设置;它似乎不会将大多数更改保存到默认用户“ubuntu”。创建新用户时,请务必选中“用户权限”选项卡中的“执行系统管理任务”复选框,否则您可以执行的操作将非常有限。微笑 :)

当您回来时,或者更好的是,当您启动到实时环境时,请返回此页面并查看如何执行一些基本测试以确保一切正常。

验证一切正常

您可以执行以下几项简单操作来验证一切是否按预期进行。

重新启动 Live CD/USB

要验证持久性是否有效,您可以做的第一件简单的事情是安装一些应用程序并更改一些环境设置(一些非常明显且易于识别的东西),例如您的主题或添加一些 GNOME 面板图标。然后只需重新启动... 点击,在内核参数列表中输入“持久”,然后启动到新的自定义 Live CD 环境。您新安装的应用程序和您的自定义设置应该都还在那里。

如果您想深入了解,您可以随时检查 USB 棒的内容。这也将让您更深入地了解这个伟大的系统是如何运作的。

(您可以从 Live CD 中执行此操作,方法是进入系统 -> 管理 -> 磁盘,选择适当的驱动器,将访问路径设置为 /mnt,然后按启用按钮,再按浏览按钮)

调查你的“casper-rw”上现在有什么

另一个相对简单的做法是,您可以检查 USB 棒上现在的内容,以验证一切是否正常,并进一步了解一切如何运作。重新启动回到您经常安装的系统,插入 USB 棒,然后查看一下。USB 棒的内容就是您的自定义环境的组成部分。

自动持久性

通过使用重建器,可以重制 CD 并在启动时添加附加菜单项(持久模式)。持久模式被添加为默认模式。除了添加持久菜单项外,没有对 CD 进行任何更改。这可能最好在另一个操作指南中描述。如果有可以上传持久 ISO 的地方,我很乐意分享

结论

新的 Ubuntu Live CD 持久性是一项出色的功能,除了当前的 Live CD 用途之外,这肯定会使 Live CD 更加可行、有用和重要。现在,您可以在 CD 和 USB 棒上随身携带自己的自定义 Ubuntu 环境,而这些都恰好可以装进您的口袋。现在,您可以向您的朋友和同事炫耀 Ubuntu 有多棒!

来源:https://help.ubuntu.com/community/LiveCD/Persistence

如果您在 UEFI PC 上遇到无法持久启动的问题。请参阅 Ubfan (ubfan1) 于 2013-04-29 撰写的内容:https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1159016

答案2

创建名为casper-rw扩展文件系统分区的目录FAT32文件系统。

或者

使用以下方式创建分区扩展文件系统和标签casper-rw

然后编辑 grub 菜单并添加选项执着的。 例如

linux /casper/vmlinuz  file=/cdrom/preseed/ubuntu.seed noprompt boot=casper persistent iso-scan/filename=/ubuntu-12.10-desktop-i386.iso quiet splash --

可以在 HDD 或 USB 或任何可写存储中使用具有上述规格的现有分区。我建议使用 HDD,因为使用较慢的 USB 设备会导致操作系统速度降低。将 casper-rw 文件存储在其他文件系统(如 EXT2/EXT3/NTFS/exFAT)中似乎不起作用。(有人成功了吗?我很高兴听到这个消息。)

创建 casper-rw 文件的指南

答案3

让我们傲慢地假设,有人放弃做出不同的FAT32或者扩展2分区只是为了放置“廉价”的组合异质额外的分区为了这个持久魔法。好吧,persistence在你的 Live USB 上启用它也是好主意。

要做到这一点,你可以采取以下Startup Disk Creator行动Unetbootin

  • 启动盘创建器 在此处输入图片描述 在此处输入图片描述

  • 网启动

在此处输入图片描述

相关内容