ubuntu 启动盘制作
2009-10-13 15:19
288 查看
1.启动盘的制作&构建一个小系统
准备:
制作系统:ubuntu 8.10(我的是8.10,各个版本应该都可以)
可启动的U盘一个
前言:
本节利用ubuntu现成的文件创建一个可U盘启动的linux小系统
分区:
#sudo fdisk /dev/sdb /*在创建分区前,可以使用d命令删除所有分区:d回车1,d回车2,d回车3,d回车4,*/
Command (m for help):n /*n 新建分区*/
Command action
e extended
p partition (1-4)
p /*p 创建主分区*/
Partition Number (1-4):1 /*1 创建第一个主分区*/
First cylinder ......: /*回车 采用默认值*/
Using default value 1
Last cylinder .....: /*回车 整个U盘分为一个区*/
using default value xxx
Command (m for help):a /*a 激活分区*/
Partition Number (1-4):1 /*1 激活第一分区*/
Command (m for help):p /*p 查看一下操作后分区信息*/
......
Command (m for help):w /*分区并退出*/
格式化:
sudo mkfs.ext3 /dev/sdb1 /*格式化为ext3分区*/
sudo mount -t ext3 /dev/sdb1 /mnt /*加载分区到/mnt*/
准备grub启动文件:
sudo mkdir -p /mnt/boot/grub/
sudo cp /usr/lib/grub/i386-pc/* /mnt/boot/grub/
/*有用的文件是stage1 e2fs_stage1_5 stage2三个文件*/
sudo cp /boot/grub/menu.lst /mnt/boot/grub/ /*当模板,后续要编辑一下*/
准备内核:
sudo mkdir /boot/myboot/
sudo cp /vmlinuz /initrd.img /mnt/boot/myboot/
修改启动菜单:
sudo vi /mnt/boot/grub/menu.lst
#file start
default 0
timeout 10
title myboot
kernel /boot/myboot/vmlinuz
initrd /boot/myboot/initrd.img
#end file
grub安装:
sudo umount /mnt
sudo grub
grub>root (hd1,0) /*grub硬盘设备总是hd的,下标为0开始,ubuntu系统为hd0,U盘为hd1*/
grub>setup (hd1)
grub>quit
#################################################
以下是网络上找到的更详细的说明,供参考
A:设置装有stage1,stage1.5.stage2的硬盘分区
B:安装GRUB至MBR
C:'embed'命令是嵌入stage1.5到硬盘MBR后的扇区上,这儿把stage1.5写入MBR后的15个扇区.扇区数目
根据stage1.5的大小而不同
D:安装stage1到MBR上
E:'p'告知GRUB,stage2和menu.lst的位置
#####################################################
好了这样一个U盘就可以启动一个linux 系统了。
最后一个地方会停一点时间,然后进入(initramfs)系统了。
2. 启动基本流程说明
系统启动,最开始启动了grub的,grub通过菜单启动了vmlinuz(内核),然后内核解压initrd.img
到内存,并形成一个根文件系统,并运行根目录下的init程序。
在ubuntu中init是一个脚本,它会启动一套很复杂的脚本,我没有花太多时间理解它,其中加载
所有必要的驱动,是很重要的功能,因此initrd.img中包含了很多驱动模块,系统进行选择性的加载。
还有系统初始化完毕后,它会卸载掉ram根文件系统,从内核root参数中,读取根设备,建立基于
硬盘上,也就是我们平时登录系统后看到的系统。root 参数在menu.lst中描述,示例如下:
kernel /boot/myboot/vmlinuz root=/dev/sdb1 rw
你可以在grub菜单的时候按“e”建重新编辑kernel这一样,然后在按“b”,引导系统,会看见一个出错
信息,系统还是进入了initramfs模式。因为u盘的根目录下只有grub,没有其他任何数据,即root=
指定的分区中没有init文件无法启动新的根文件系统。
准备:
制作系统:ubuntu 8.10(我的是8.10,各个版本应该都可以)
可启动的U盘一个
前言:
本节利用ubuntu现成的文件创建一个可U盘启动的linux小系统
分区:
#sudo fdisk /dev/sdb /*在创建分区前,可以使用d命令删除所有分区:d回车1,d回车2,d回车3,d回车4,*/
Command (m for help):n /*n 新建分区*/
Command action
e extended
p partition (1-4)
p /*p 创建主分区*/
Partition Number (1-4):1 /*1 创建第一个主分区*/
First cylinder ......: /*回车 采用默认值*/
Using default value 1
Last cylinder .....: /*回车 整个U盘分为一个区*/
using default value xxx
Command (m for help):a /*a 激活分区*/
Partition Number (1-4):1 /*1 激活第一分区*/
Command (m for help):p /*p 查看一下操作后分区信息*/
......
Command (m for help):w /*分区并退出*/
格式化:
sudo mkfs.ext3 /dev/sdb1 /*格式化为ext3分区*/
sudo mount -t ext3 /dev/sdb1 /mnt /*加载分区到/mnt*/
准备grub启动文件:
sudo mkdir -p /mnt/boot/grub/
sudo cp /usr/lib/grub/i386-pc/* /mnt/boot/grub/
/*有用的文件是stage1 e2fs_stage1_5 stage2三个文件*/
sudo cp /boot/grub/menu.lst /mnt/boot/grub/ /*当模板,后续要编辑一下*/
准备内核:
sudo mkdir /boot/myboot/
sudo cp /vmlinuz /initrd.img /mnt/boot/myboot/
修改启动菜单:
sudo vi /mnt/boot/grub/menu.lst
#file start
default 0
timeout 10
title myboot
kernel /boot/myboot/vmlinuz
initrd /boot/myboot/initrd.img
#end file
grub安装:
sudo umount /mnt
sudo grub
grub>root (hd1,0) /*grub硬盘设备总是hd的,下标为0开始,ubuntu系统为hd0,U盘为hd1*/
grub>setup (hd1)
grub>quit
#################################################
以下是网络上找到的更详细的说明,供参考
grub> root (hd0,1) (A) root (hd0,1) Filesystem type is ext2fs, partition type 0x83 grub> setup (hd0) (B) setup (hd0) Checking if "/boot/grub/stage1" exists... yes Checking if "/boot/grub/stage2" exists... yes Checking if "/boot/grub/e2fs_stage1_5" exists... yes Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 15 sectors are embedded. (C) succeeded Running "install /boot/grub/stage1 (hd0) (hd0)1+15 p (D) (hd0,1)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded Done. (E) grub> quit |
B:安装GRUB至MBR
C:'embed'命令是嵌入stage1.5到硬盘MBR后的扇区上,这儿把stage1.5写入MBR后的15个扇区.扇区数目
根据stage1.5的大小而不同
D:安装stage1到MBR上
E:'p'告知GRUB,stage2和menu.lst的位置
#####################################################
好了这样一个U盘就可以启动一个linux 系统了。
最后一个地方会停一点时间,然后进入(initramfs)系统了。
2. 启动基本流程说明
系统启动,最开始启动了grub的,grub通过菜单启动了vmlinuz(内核),然后内核解压initrd.img
到内存,并形成一个根文件系统,并运行根目录下的init程序。
在ubuntu中init是一个脚本,它会启动一套很复杂的脚本,我没有花太多时间理解它,其中加载
所有必要的驱动,是很重要的功能,因此initrd.img中包含了很多驱动模块,系统进行选择性的加载。
还有系统初始化完毕后,它会卸载掉ram根文件系统,从内核root参数中,读取根设备,建立基于
硬盘上,也就是我们平时登录系统后看到的系统。root 参数在menu.lst中描述,示例如下:
kernel /boot/myboot/vmlinuz root=/dev/sdb1 rw
你可以在grub菜单的时候按“e”建重新编辑kernel这一样,然后在按“b”,引导系统,会看见一个出错
信息,系统还是进入了initramfs模式。因为u盘的根目录下只有grub,没有其他任何数据,即root=
指定的分区中没有init文件无法启动新的根文件系统。
相关文章推荐
- 制作Ubuntu Live启动盘
- Ubuntu优盘启动盘制作教程
- 装ubuntu系统U盘制作启动盘
- Ubuntu15.10下制作Linux 操作系统优盘启动盘
- elementary OS:ubuntu下制作windows启动盘
- win7下制作ubuntu系统安装启动盘和U盘安装ubuntu全过程
- 【Tensorflow】 第一节 制作 Ubuntu16.04LTS 系统启动盘
- Ubuntu官方:制作USB启动盘
- 在windows下制作Ubuntu的USB启动盘和Grub的修复
- Mac上制作Ubuntu USB启动盘
- 在Ubuntu中制作USB启动盘
- u盘制作ubuntu启动盘后容量变小
- 多系统U盘启动盘的制作,成功启动win8PE,ubuntu,deepin2013,deepin2014,以及通过U盘启动电脑已装系统。
- ubuntu制作usb启动盘
- 菜鸟在ubuntu 16.04下制作am335x的SD卡启动盘反思
- Ubuntu启动盘制作
- USB启动盘制作,WinPE、Puppy、Ubuntu
- 软碟通制作U盘Ubuntu14.04启动盘
- 如何在Ubuntu下使用TF/SD 卡制作Exynos 4412 u-boot启动盘
- 如何用U盘制作Ubuntu 14.10启动盘