1、fdisk -l 查看那个设备时u盘(现在以/dev/sdc为例)
2、fdisk /dev/sdc 对u盘分区 p:查看当前分区 d:删除当前分区 n:新建分区 w:保存
⼆、使⽤mkfs 将u盘格式化为fat32格式,fat32 通⽤性⽐较好
mkfs.vfat -F 32 /dev/sdc1 或者 mkfs -t vfat /dev/sdc1
三、将grub2安装到u盘
1、sudo grub-install --boot-directory=/media/u /dev/sdc 问题:--boot-dircetory 和 --root-dircetory 的区别或:grub-install --no-floppy --boot-directory=/mnt/img /dev/sdc
2、 sudo update-grub
3、sudo grub-mkconfig -o /media/u/boot/grub/grub.cfg
以上代码中的/dev/sdc是U盘对应设备,/media/u是U盘的挂载点。
经过上⾯的操作,grub2被安装到u盘的mbr上了,⽣成了默认的启动菜单/grub/grub.cfg,通过u盘启动就能看到grub2的引导界⾯了,完全可以引导电脑硬盘上的操作系统了。黄旭熙出什么事儿了
四、使⽤grub命令⾏启动系统启动linux系统(本⽂的grub指的全部是grub2)
1、set root=(hd1,msdos1) (hd1,msdos1)是启动分区。 (在输到"("之后,按⼀下tab,我的能⾃动填充hd1,之后,再按⼀下tab键,可以显⽰出磁盘分区,在我的电脑上显⽰出了2个ext分区,以及这些分区的基本信息,我的安装在hd1,msdos1)
2、linux /boot/vmlinux-xxx-xxx root=UUID=xxxxxxxxx 或者 linux /boot/vmlinuz-***** -generic root=UUID=****** (root=后可以使⽤uuid也可使⽤ /dev/sda1 挂载分区,但是本⼈个⼈暂时⽆法获取是sda1还是sdb1,所以⽤UUID,第⼀步tab补全显⽰磁盘分区详情时会显⽰分区的uuid号)
3、initrd /boot/initdxxx(按tab补全)
4、boot 启动
五、grub可以直接启动grub4dos
2、配置 grub.cfg
menuentry "Grub4dos"{
set root='hd0,msdos1'
linux16 /grub/
boot
}
六、grub启动winpe
1、消灾镜像⽂件到u盘
2、配置grub.cfg
menuentry 'winpe'{皮特 朱莉
set root='hd0,msdos1'
insmod lvm
insmod xfs
insmod memdisk
insmod part_msdos
echo ''
linux16 /grub/memdisk iso raw
成功人士 echo ''
initrd16 /grub/dabaicai.iso
}
七、grub4dos启动winpe(grub启动winpe有时候会失败所以使⽤grub4dos启动)
修改grub4dos下的menu.lst⽂件(menu.lst⽂件最好拷贝到根⽬录或者boot⽬录,要不然系统可能不到)
title find and boot dabaicai.ISO
fallback 6
root (hd0,0) (系统默认是在当前磁盘,如果iso和grub4dos在同⼀个磁盘分区可以不⽤写这⼀句)
find --set-root /grub/dabaicai.iso
map /grub/dabaicai.iso (0xff) || map --mem /grub/dabaicai.iso (0xff)
map --hook
chainloader (0xff)
预科生savedefault --wait=2
命令解释
白展堂谁演的set: 设置环境变量,如果不带参数,则是显⽰当前所有的环境变量。
华晨宇百度百科linux: 从⽂件中加载Linux内核image。该⾏的其余内容则直接作为内核的命令传递,在使⽤了这个命令之后必须使⽤initrd命令。
intird: 为Linux内核image加载初始的ramdisk,并在内存中的Linux安装区域中设置适当的参数,这只能在linux命令后使⽤。
boot: 引导已经加载的操作系统或链式加载程序。
chainloader: 作为⼀个链式加载程序来加载⼀个⽂件,如我在前⽂所述,当我⽤此命令加载了⼀个windows的efi⽂件之后,便能顺利地引导win10系统的启动了。
发布评论