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,如需转载请自行联系原作者



相关文章
|
21天前
|
安全 Linux 网络安全
Linux环境中安装和使用Paramiko
Linux环境中安装和使用Paramiko
65 12
|
20天前
|
Java 关系型数据库 MySQL
Linux环境
Linux环境
33 5
|
2天前
|
监控 Linux 云计算
Linux操作系统在云计算环境中的实践与优化###
【10月更文挑战第16天】 本文探讨了Linux操作系统在云计算环境中的应用实践,重点分析了其在稳定性、安全性和高效性方面的优势。通过具体案例,阐述了Linux如何支持虚拟化技术、实现资源高效分配以及与其他开源技术的无缝集成。文章还提供了针对Linux系统在云计算中的优化建议,包括内核参数调整、文件系统选择和性能监控工具的应用,旨在帮助读者更好地理解和应用Linux于云计算场景。 ###
9 3
|
10天前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
115 3
|
1月前
|
消息中间件 分布式计算 Java
Linux环境下 java程序提交spark任务到Yarn报错
Linux环境下 java程序提交spark任务到Yarn报错
34 5
|
1月前
|
Java Linux Python
Linux环境下 代码java调用python出错
Linux环境下 代码java调用python出错
38 3
|
1月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
1月前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
1月前
|
Linux 编译器 开发工具
快速在linux上配置python3.x的环境以及可能报错的解决方案(python其它版本可同样方式安装)
这篇文章介绍了在Linux系统上配置Python 3.x环境的步骤,包括安装系统依赖、下载和解压Python源码、编译安装、修改环境变量,以及常见安装错误的解决方案。
50 1
|
16天前
|
Unix Linux Go
Linux 使用Yum安装Go和配置环境
Linux 使用Yum安装Go和配置环境