Linux环境定制LiveUSB启动盘

简介:

摘自:https://wiki.gentoo.org/wiki/LiveUSB#Write_the_LiveCD_image_to_the_USB_drive
LiveUSB/HOWTO
 本文解释如何创建一个Gentoo Linux LiveUSB安装盘,旨在驱动x86或者AMD64的Gentoo Linux LiveCD
通过使用USB闪存驱动。旨在没有CD-ROM驱动的情况下,安装Gentoo Linux系统到现代物理机器上。
 尽管你会发现本文中的描述主要是针对Gentoo Linux LiveCD ,但是通过修改设备名称,也可以在任何的设备
上正常工作。

Using the Gentoo LiveDVD
 当使用LiveDVD而不是LiveCD,最有效而且直接的方式就是拷贝ISO镜像到USB设备上,dd指令完全可以胜任
这份工作。假设USB设备是/dev/sdc,
root # dd if=/path/to/livedvd.iso of=/dev/sdc
On Windows,dd指令也应用在不同的项目当中,例如GNUWin32或者Chrysocome
本文主要针对的是LiveCD,所以LiveDVD需要参考其他的内容。

前提
应用Gentoo Linux LiveUSB ,你需要作如下的准备:
1GB的可启动USB闪存设备
支持从USB启动的物理计算机)i686 或x86_64)


准备USB闪存设备
设备分区
警告:备份USB设备中的数据否则将会格式化U盘的所有数据。
请确定当前的USB设备对应的盘符是/dev/sdc,主要是防止类似的SCSI的设备占用这个
盘符,导致格式化错误的设备。

在USB上创建一个FAT16分区,然后将分区设置成可启动,使用fdisk 命令,别忘记了
a的终极含义。操作完成之后应该是下面样子的:
root # fdisk -l /dev/sdc
--------------------------------------------------------------------------------
Disk /dev/sdc: 2063 MB, 2063597056 bytes
255 heads, 63 sectors/track, 250 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
  
   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1   *           1         250     2008124+   6  FAT16
当然如果你发现FAT16 ID是怎么来的,请使用t ,然后制定system id
尽管应该是指定。
笔记:如果设备大于4GB,请使用-F 32创建一个FAT32文件系统
root # emerge --ask sys-fs/dosfstoolsroot 
# mkdosfs -F 16 /dev/sdc1
--------------------------------------------------------------------------------
mkfs.fat 3.0.22 (2013-07-19)


安装主引导扇区Master Boot Record
安装预编译的Master Boot Record (MBR),从syslinux上,到USB设备
root # emerge --ask --verbose sys-boot/syslinuxroot # dd if=/usr/share/syslinux/mbr.bin of=/dev/sdc
--------------------------------------------------------------------------------
0+1 records in
0+1 records out
440 bytes (440 B) copied, 0.00522668 s, 84.2 kB/s

挂载Gentoo Linux 安装CD
将CD挂载到/mnt/cdroom目录
## (Create the /mnt/cdrom mount point if needed)
# mkdir -p /mnt/cdrom
# mount -o loop,ro -t iso9660 /path/to/iso.iso /mnt/cdrom
笔记:如果你尝试挂载ISO镜像文件,接收到无法找到任何的循环挂载设备错误的信息,
你需要开启内核中的配置参数Loopback 设备

挂载LiveUSB
挂载USB设备到/mnt/usb目录上
root # mkdir -p /mnt/usb 
root # mount -t vfat /dev/sdc1 /mnt/usb

拷贝文件
从光盘镜像中拷贝文件到USB启动分区目录下,由于我们是使用syslinux,而不是
isolinux启动系统,所以会进行如下的修改。
root # cp -r /mnt/cdrom/* /mnt/usb 
root # mv /mnt/usb/isolinux/* /mnt/usb
root # mv /mnt/usb/isolinux.cfg /mnt/usb/syslinux.cfg
root # rm -rf /mnt/usb/isolinux*
root # mv /mnt/usb/memtest86 /mnt/usb/memtest
卸载挂载分区
root # umount /mnt/cdrom

调整启动参数
请使用sed修改syslinux.cfg文件的参数。在尝试挂载文件系统的时候,slowusb参数可能
会产生一定的延时,检测USB的完整性是必须的。
root # sed -i -e "s:cdroot:cdroot slowusb:" -e "s:kernel memtest86:kernel memtest:" /mnt/usb/syslinux.cfg


卸载USB
请确保在安装bootloader之前已经卸载USB设备。
root # umount /mnt/usb

 

安装syslinux
最终安装syslinux bootloader到USB设备上
root # syslinux /dev/sdc1

核心:一旦修改了syslinux.cfg文件,你需要重新使用syslinux /dev/sdc1安装
boot loader.

使用LiveUSB



     本文转自fengyuzaitu 51CTO博客,原文链接:http://blog.51cto.com/fengyuzaitu/1535077,如需转载请自行联系原作者



相关文章
|
27天前
|
JSON Kubernetes Linux
Linux环境签发CA证书和K8s需要的证书
Linux环境签发CA证书和K8s需要的证书
29 0
|
1月前
|
存储 缓存 Linux
如何在Linux环境下对pip的缓存地址进行修改
如何在Linux环境下对pip的缓存地址进行修改
|
1月前
|
NoSQL Linux 开发工具
【Linux】环境基础开发工具的使用之gdb详解(三)
【Linux】环境基础开发工具的使用之gdb详解(三)
|
1月前
|
Linux 编译器 开发工具
【Linux】环境基础开发工具的使用之gcc详解(二)
【Linux】环境基础开发工具的使用之gcc详解(二)
|
1月前
|
存储 网络协议 Ubuntu
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
|
14天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
38 6
|
1月前
|
存储 JavaScript Linux
Linux环境下安装nmp(Centos环境)保姆级教学 一步到位
Linux环境下安装nmp(Centos环境)保姆级教学 一步到位
|
3月前
|
应用服务中间件 Linux 网络安全
windows+linux环境下nginx部署环境
windows+linux环境下nginx部署环境
|
1天前
|
Oracle Java 关系型数据库
Linux环境安装配置JDK11
Linux环境安装配置JDK11
14 0
|
28天前
|
应用服务中间件 Linux PHP
Linux下安装php环境并且配置Nginx支持php-fpm模块
Linux下安装php环境并且配置Nginx支持php-fpm模块
29 0