实时发行版和完整 Linux 安装/创建可启动 USB 驱动器
本指南假设您熟悉并不怕使用 命令行。
如果您已经拥有一个,则创建可启动 USB 驱动器的更简单说明
备份您的数据! 我们不建议在没有将重要数据备份到其他位置的情况下,在具有重要数据的硬盘驱动器或 USB 驱动器上进行操作。我们不能也不会承担使用本指南造成的任何数据丢失的责任,无论是明示还是暗示。请再次备份您的数据,卢克!
本指南假设您有一个可用的发行版 CD 或 DVD(或运行的虚拟化镜像,例如使用 qemu FIXME-这有效吗?),您可以从中创建 USB 驱动器。您还可以使用这些说明从其他 gnu/linux 发行版创建可用的设备。
- 下载并安装依赖项:bzr(bazaar)、grub2 和 (g)parted。(如果您正在运行发行版,则这些已经安装。)
- 从 Launchpad 中签出 bouilloncube 源代码。
- 从发行版镜像之一下载 DVD(或 CD)ISO 镜像。有关执行此操作的方法,请参阅 获取发行版 页面。
- 插入 USB 驱动器,找出要使用的设备文件,然后运行 make-live-device.sh 脚本(使用 sudo)。
注意:如果您从运行的发行版创建驱动器,则您已经安装了脚本,但目前最好按照所有步骤进行操作,以便您拥有最新版本的脚本。
- 安装运行 make-live-device.sh 脚本所需的所有依赖项在很大程度上取决于您使用的 GNU/Linux 发行版。在基于 Debian 的系统(如 Debian、Ubuntu、Linux Mint 或 Puredyne)中,您只需打开终端并键入
sudo aptitude install bzr grub2 parted
更新:从 Ubuntu 10.10 开始,aptitude 不再包含在 Ubuntu 中。请使用 apt-get。
其他版本的 GNU/Linux,例如 gentoo,您必须使用它们各自的软件包管理工具来安装这些程序。以下是用 gentoo 的示例sudo emerge bzr parted grub2
- 要签出 bouilloncube(包括 make-live-device.sh)的源代码,请在终端中键入以下内容
bzr branch lp:bouilloncube
这将在您的主目录中创建一个名为 bouilloncube 的目录。 - 从离您最近的发行版镜像之一下载 DVD 或 CD ISO 镜像。您可以获取详细的说明来执行此操作 此处,以下是用 rsync 从发行版主镜像下载 ISO 的示例,请在终端窗口中键入以下内容
rsync -P rsync.goto10.org::puredyne-pub/
这将为您提供我们 rsync 服务器上所有版本的目录列表,以及一个指向最新版本(当前为“LATEST_IS_CARROT_AND_CORIANDER”)的空条目。
要下载最新的 DVD 版本,请键入以下内容rsync -P rsync.goto10.org::puredyne-pub/carrot_and_coriander/puredyne-911-carrot_and_coriander-DVD-amd64.iso puredyne-911-carrot_and_coriander-DVD-amd64.iso
提示:如果您已经在硬盘上拥有 DVD 或 CD ISO,则可以通过将 rsync 的第二个参数替换为您存储的 ISO 镜像的路径,从而 rsync 覆盖它(从而节省大量下载带宽)。 - 现在,将 USB 闪存驱动器或 USB-HDD 插入计算机并打开终端。等待几秒钟,直到设备稳定下来,然后键入
dmesg
这将显示类似于以下内容的内容
在突出显示的行(实际上是在那条行之前的行中,甚至更清晰)中,您可以看到刚插入的 USB 设备的设备文件标识符是什么,以及它已经有多少个分区。在本例中,/dev/sdb 上已经有两个分区,/dev/sdb1 和 /dev/sdb2 - 确保已备份这些分区上的所有数据,因为它们将从驱动器中完全删除。所有数据将丢失!
提示:您可以使用非常棒的 rdiff-backup 工具创建、维护和恢复带时间戳的备份。
接下来,运行 make-live-device.sh 脚本。如果您没有使用发行版来创建驱动器,则必须进入之前从 bazaar 签出的 bouilloncube 目录cd /path/to/bouilloncube/sh/grub2
然后,或者如果您已经运行了发行版,则可以像这样运行命令sudo ./make-live-device.sh /path/to/puredyne-911-carrot_and_coriander-DVD-amd64.iso /dev/sdX
确保您将 /dev/sdX 替换为运行 dmesg 时看到的设备,如上所述。未这样做会导致硬盘驱动器上的数据损坏/覆盖,因此请小心!如果您下载了 CD 或发行版的 i386 版本,请替换 .iso 文件名。
该脚本将提示您所选设备是否正确,因此请根据情况做出回答。脚本完成后,您可以拔掉设备或直接重启计算机进入该设备。
已修复
在 Linux 上
导航到包含 ISO 文件的目录。可能是您主文件夹的“下载”目录。
cd ~/Downloads
使用 lsblk 检查要使用的 USB 驱动器的正确设备路径。
/dev/sda 可能是内部驱动器。如果只插入了一个 USB 设备,那么您应该会看到类似以下内容的内容
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 698.7G 0 disk ├─sda1 8:1 0 2.5G 0 part /boot └─sda3 8:3 0 696.2G 0 part / sdb 8:16 1 7.2G 0 disk └─sdb1 8:17 1 7.2G 0 part
使用“dd”将 ISO 镜像复制到驱动器。如果您位于包含 ISO 镜像的目录中,那么您将使用
$ sudo dd bs=4M if=<iso file> of=/dev/sdX
其中 <isofile> 是 ISO 文件的文件名,以 .iso 扩展名结尾,即“some-linux-distro-4.4-x86_64.iso”。而 X 表示此命令中最重要的一部分。它表示将 ISO 写入哪个驱动器。使用您的 USB 驱动器的正确字母。确保您正确地完成了这一部分。在上面的示例中,USB 驱动器为 /dev/sdb,那么您将用 b 替换 X - 忽略任何数字实例(sdb1、sdb2 等)。如果您不小心输入了 a,您将覆盖您的内部 HD,这将是错误的,应该避免。
已完成。
在 Windows 上
对于 BIOS:使用 win32diskimager - https://sourceforge.net/projects/win32diskimager/
对于 UEFI:使用 rufu - http://rufus.akeo.ie/
注意:这些方法都不能提供持久性存储。使用 dd 时应谨慎,因为它会覆盖“of=”后指定的任何设备。
从 http://unetbootin.sourceforge.net/ 为 Linux 获取 unetbootin 和发行版 ISO 文件。在某些发行版中,您可能需要授予 unetbootin 以程序运行的权限。
使用分区工具在您的闪存驱动器上创建两个 ext2 分区。
第一个应该大小为 1.5 GB,用于存放发行版,并且应该可启动。
第二个可以使用驱动器上的剩余空间,并应标记为 live-rw(小写,如输入)。发行版将检测到这一点并将其用于存储您所做的任何更改。
插入闪存驱动器,然后在终端中使用 mount
或 dmesg
获取闪存驱动器上第一个分区的名称。
启动 unetbootin。选择“磁盘镜像”选项,然后单击带有三个点的框以获取文件浏览器,并选择发行版 ISO。检查以确保选择了正确的驱动器(闪存驱动器上的第一个驱动器)。单击“确定”并等待显示进程完成的消息。
第一次启动将比后续启动慢。
使用UltraISO打开ISO镜像,然后选择“可启动”->“写入磁盘映像”将镜像刻录到可启动的USB磁盘上。