为Linux手动制作U盘启动及基本原理

制作成功后的基本最简目录文件图

一、系统的基本引导流程:

首先系统要引导isolinux.bin可执行程序,此程序是移动介质上引导用的,isolinux.bin运行成功后会加载其配置文件syslinux.cfg,该文件中定义了vmlinuz和initrd.img的调用方式。vmlinuz是vmlinux的压缩版,二者都是linux内核。isolinux.bin根据其配置方式中定义的initrd.img的参数传给vmlinuz即Linux内核并加载内核,然后Linux内核会根据获得的initrd.img的调用参数调用initrd.img。initrd.img的基本功能就是root路径挂载器,其存在的意义是省去了不同root路径硬件下vmlinuz内核的重编译工作。initrd.img根据调用参数去参数路径中找系统启动程序(这里使用的就是iso的安装镜像),系统便启动起来了。

二、引导盘的基本制作过程:

第一步:提取制作引导镜像所需的文件,这些文件在Linux安装盘的isolinux目录中,这个目录就是个微型Linux系统。

第二步:编辑isolinux.bin的执行配置文件syslinux.cfg的原文件isolinux.cfg。

default vesamenu.c32
timeout 600

这里定义的默认者是vesamenu.c32c,这个vesamenu.32c的作用就是启动菜单外观绘制拓展工具。下面定义的timeout是指用户选择时间上限。

label linux
  menu label ^Install CentOS 7
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CENTOS quiet
label check
  menu label Test this ^media & install CentOS 7
  menu default
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CENTOS rd.live.check quiet

menu separator # insert an empty line

# utilities submenu
menu begin ^Troubleshooting
  menu title Troubleshooting

label vesa
  menu indent count 5
  menu label Install CentOS 7 in ^basic graphics mode
  text help
	Try this option out if you're having trouble installing
	CentOS 7.
  endtext
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CENTOS xdriver=vesa nomodeset quiet

label rescue
  menu indent count 5
  menu label ^Rescue a CentOS system
  text help
	If the system will not boot, this lets you access files
	and edit config files to try to get it booting again.
  endtext
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CENTOS rescue quiet

label memtest
  menu label Run a ^memory test
  text help
	If your system is having issues, a problem with your
	system's memory may be the cause. Use this utility to
	see if the memory is working correctly.
  endtext
  kernel memtest

menu separator # insert an empty line

label local
  menu label Boot from ^local drive
  localboot 0xffff

menu separator # insert an empty line
menu separator # insert an empty line

label returntomain
  menu label Return to ^main menu
  menu exit

menu end

这些是每项菜单的具体定义,即定义了每个菜单对应的调用vmlinuz和initrd.img的方式。

label linux
  menu label ^Install CentOS 7
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CENTOS quiet

label是标签,类似于grub的title 。kernel项代表要加载的内核,append是后缀参数,相当于为了好看换行的作用。initrd=initrd.img是定义内核的挂在器是initrd.img,后面参数inst.stage2=hd:LABEL=CENTOS quiet 就是加载的root路径,inst.stage2是指加载iso的文件,hd:LABEL=CENTOS是指root的路径在卷标为CENTOS的储存设备中,即U盘,所以该引导镜像的名字和U盘卷标必须是CENTOS。

此处如果不想用菜单方式显示,直接加载安装文件,可以省去vesamenu.32c 把开头的default vesamenu.32c改成default linux 即默认加载label linux的定义。

第三步:制作引导镜像文件CENTOS.iso

修改镜像文件名字与syslinux.cfg中的root路径卷标一致。把isolinux.bin设置成引导文件,勾选生成启动信息表,这个启动信息表就是最后目录中的ldlinux.sys启动信息文件。

第四步:保存该镜像并通过启动-》写入硬盘映像来写到U盘中。这时候UItral So会自动的把syslinux.cfg文件盒ldlinux.sys文件生成在U盘上,而其他的文件也会复制到U盘上,这时候U盘里的isolinux.cfg可以删除掉,最后把安装系统的镜像拷到根目录下。

注:U盘中没介绍的文件都是一些背景或者其他安装选项中调用的linux的检测工具。

为Linux手动制作U盘启动及基本原理

时间: 2024-10-10 20:28:03

为Linux手动制作U盘启动及基本原理的相关文章

Linux 手动制作U盘系统

这两天学习了Linux的系统方面的东西,学会了一些简单的排错和用现成的文件来制作一个U盘的Linux系统,下面就来演示一下详细的步骤. 1.在centos6.9上插入u盘 看下U盘的相关信息 (这边为了方便操作我就切换到xshell上进行操作) 2.利用fdisk命令对U盘进行分区格式化 [[email protected] ~]# fdisk /dev/sdb WARNING: DOS-compatible mode is deprecated. It's strongly recommend

Linux下制作U盘启动盘的方法

1 卸载你的U盘 假设你的u盘对应的设备是sdb1(可以使用df查看你的设备) sudo umount /dev/sdb1 2 使用dd命令写入linux(ubuntu fedora .....)系统 sudo dd if=系统路径   of=设备路径 例如   sudo dd if=./ubuntu-13.04-beta2-desktop-amd64.iso   of=/dev/sdb1 注意:of后面的设备一定要特别注意,选错了可能会造成不可逆的损失,制作时看清你的U盘对应的设备

ubuntu下制作u盘启动盘安装win7

昨天脑热装了个ubuntu,做前端发现突然没了IE好不习惯,无奈今天就要装回来,问题来了,u盘已经做成了ubuntu的启动盘,怎么装win7... 这时,我有两种解决方案: 1.去隔壁宿舍用朋友的电脑把U盘做成启动盘 2.在自己的ubutnu里将u盘做成启动盘 作为一个宅男,自然是有问题自己解决,坚决不找别人麻烦.于是上网搜索在linux下制作u盘启动盘的方法,发现教程真心少,搜了好久,终于搜出来一篇文章,链接如下:http://www.linuxquestions.org/questions/

Ubuntu系统制作U盘启动项以及针对U盘挂载后显示"只读系统"的解决措施

1)Linux系统制作U盘启动项在公司的一台ubuntu机器上插入U盘,然后将机器上的一个ubuntu的iso镜像做成U盘启动.制作方法如下:首先执行命令 sudo usb-creator-gtk 2)针对U盘挂载后显示"只读系统"的解决措施 Ubuntu下挂载了一个U盘,进入U盘路径后,显示该U盘是只读文件系统,不能在里面进行新建,复制,删除等写操作.下面简单介绍下解决办法(此在方法在ubuntu以及fedora上验证可用,其他的版本的linux应该也可以借鉴):-  插上U盘- 

怎样用通用pe工具箱制作U盘启动盘

U盘启动盘制作过程,随着网络的普及,电脑已经成为我们日常生活中的重要一环,最近自己重装了下电脑系统,无意中发现一个傻瓜式的U盘装系统方法,就把怎么制作通用pe工具箱u盘启动盘的经验拿出来跟大家分享下. 工具/原料 必须是能上网的电脑一台 4G以上U盘一个 方法/步骤 1 一.u盘启动盘制作前的准备 1.我是从通用pe上面下载通用pe工具箱V6.3版来进行制作的. 2.各位在运行制作程序之前最好关闭杀毒软件和安全类软件,个人觉得这种制作软件有涉及对可移动磁盘的读写操作,怕产生杀软的误报使得制作不成

Ubuntu 制作U盘启动盘

部门需要一台Linux系统远程共享服务器,需要一个启动盘安装.但是由于公司windows 系统都安装了保安软件,而且软件的使用也是有限制的.所以不能使用UltraISO 这类软件制作U盘启动盘.还好部门里有Ubuntu系统,所以就用dd 命令制作了一个安装盘. 记性不太好,在这里记录一下,以备后用. 步骤:(1). > df #命令查看U盘挂在到那个目录下(Ubuntu 在插入U盘后自动挂在,通常挂载到/etc/sdb1) (2). > sudo umount /dev/sdb1 #卸载U盘

使用UNetbootin制作U盘启动

制作Ubuntu系统启动U盘,可以用软碟通UltraISO,也能用UNetbootin这个软件. UNetbootin的好处是有windows客户端,也有Linux的客户端,也就是说可以很方便的在Linux环境下制作自己的启动U盘. 工具/原料 UNetbootin软件 免费软件,自己搜索下载地址 Ubuntu系统光盘iso文件 自己搜索下载地址 一台PC 方法/步骤 1 首先要检验一下你下载的iso文件的完整性.就是平时大家说的hash值. 百度关键字:hash 1.04 原文件hash值在官

使用UltraISO制作U盘启动

下面给你提供是的一个万能的制作系统U盘的方法,用这个U盘你可以加载任何你想要的系统,即使是Linux系统都是可以,你需要做的就是下载安装软件,下载一个系统安装光盘的镜像文件,然后用软件导入到U盘就可以了,注意导入过程会格式化U盘,事先保存数据.BIOS如何设置U盘启动:http://ask.zol.com.cn/q/11499.html 下面简单的写一份教程,关于如何使用工具软件制作U盘的Windows 7启动安装盘的. 其实制作可引导的DOS U盘和刻录光盘一样,只不过用的程序稍有区别而已.下

制作U盘启动盘将Ubuntu 12.04升级为14.04的方法

1 介绍 在周六的下午,我决定想快速浏览一下书籍[1],看看这个关于Ubuntu的圣经究竟在讲什么东东.感觉讲的不错,当我看到介绍文件标记语言-TeX和LaTeX的时候,该书作者推荐在Ubuntu上常用的teTeX软件包,可是我在软件中心(Software Center)通过查询(Searcch)对话框并没有找到该软件,于是进入作者推荐的关于teTeX的主页(www.tug.org/tetex)去了解.发现teTex自2006那年就停止维护,建议对TEX感兴趣的安装和关注TexLive.我当时就