Archlinux LiveUSB How-to
时间:2009-02-03
来源:互联网
看到很多xdjms讨论LiveUSB的问题,就把自己的制作方法写下来,希望大家喜欢,多提提建议。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- 本文假设将安装在硬盘第一分区的Archlinux迁移到U盘的第一分区,并且整个系统都包含在根分区,请按照实际情况操作。
- 本文建议使用 UUID 来表示分区路径。
引用:UUID 简明 FAQ
- 为什么要使用UUID来表示分区?
许多接触 linux 比较早的 linuxers 可能还记得,以前的硬盘路径都表示为 /dev/hdX,而现在一般为 /dev/sdX,但总有人会遇到特殊情况。而到了移动硬盘上,这个问题变得更加复杂。
为了从 hdX 和 sdX 的痛苦中解脱出来,请使用 UUID。而且,UUID 不仅仅可以表示分区,还涵盖了LVM和其它一些设备。
- 一个分区的 UUID 路径是怎样表示的?
形如 “/dev/disk/by-uuid/b72a313a-e6f0-44e5-a96b-b95a812bf0a5”,后面的数字为此分区的 UUID。
- 怎样获得一个设备的 UUID 路径?
1. 如果你知道这个设备的普通路径,如 /dev/sda1,使用命令 “vol_id -u /dev/sda1”,将获得其UUID,在UUID的前面加上 “/dev/disk/by-uuid/”就得到了这个设备的UUID路径。
2. 如果你不知道这个设备的普通路径,使用命令“ls -l /dev/disk/by-uuid/”将列出所有磁盘设备文件对应的UUID。
- 为什么要使用UUID来表示分区?
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- 复制整个系统
启动到要迁移的 Archlinux 之外的任一系统,执行以下命令。
代码:mkdir /mnt/{sda1,sdb1} mount /dev/sda1 /mnt/sda1 mount /dev/sdb1 /mnt/sdb1 cp --preserv=all -r /mnt/sda1/ /mnt/sdb1/
- 生成支持 USB 存储设备的内核
编辑 /mnt/sdb1/etc/mkinitcpio.conf,在类似以下行
代码:HOOKS="base udev autodetect pata scsi sata filesystems usbinput keymap"
执行以下命令。
代码:chroot /mnt/sdb1/ mkinitcpio -p kernel26
- 将 GRUB 安装到 USB 存储设备
确保 /mnt/sdb1/boot/grub 中包含所需的启动文件,如果没有,可以从 /mnt/sdb1/usr/lib/grub/i386-pc/ 复制一份。
编辑 /mnt/sdb1/boot/grub/menu.lst,修改 Archlinux 的启动条目。将 “root (hd0,0)” 修改为 “root (hd1,0)”。在内核参数中加入 “rootdelay=X”(X的单位是秒,实测最小值为8),并将 “root=” 后的设备路径修改为 /dev/sda1 的 UUID 路径。
引用:注意:
在 Debian/Ubuntu 类发行版中,有一种形如 “root=UUID=b72a313a-e6f0-44e5-a96b-b95a812bf0a5”(其后数字为UUID)来表示根分区的方法,仅限于此类发行版专用。
代码:grub
代码:root (hd1,0) setup (hd1) quit
- 修改 fstab
编辑 /mnt/sdb1/etc/fstab,将其中的路径替换为相应的U盘分区的 UUID 路径。
作者: coderoar 发布时间: 2009-02-03
好贴,顶起,现在U盘SD卡便宜了,liveUSB大有用处
作者: axlrose 发布时间: 2009-02-03
如果官方wiki里面没有的话最好也能在那边弄一份。
不错的文章,排版也很工整
不错的文章,排版也很工整
作者: jarryson 发布时间: 2009-02-03
就是没有才写的,等完善以后再转过去。
作者: coderoar 发布时间: 2009-02-03
谢谢,解决了我的问题
作者: scoky 发布时间: 2010-01-13
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28