澳门皇冠金沙网站-澳门皇冠844网站

热门关键词: 澳门皇冠金沙网站,澳门皇冠844网站

编辑所需的安装与启动实现

详细出处参考:

if [ "x$3" = "xquiet" ]; then

menuentry "Maxdos Toolbox"{
set root='(hd0,msdos1)'
linux16 /boot/Grub/memdisk
initrd16 /PE/imgs/maxdos9.img
}

2、下面介绍下在Grub2 编辑中一些常用的命令

set root=(hd0,7)

menuentry 'Shutdown' --class halt {
echo 'Shutdown ...'
halt
}

启动时根据mbr所提供信息找到启动分区后,加载分区内的grub核心文件core.img和配置文件grub.cfg,进入选择菜单画面,在菜单画面,按上下箭号选择需要系统菜单项,按Enter进入选项。

set root=(hd0,8)

 

又比如启动第二硬盘第一逻辑分区上的ubuntu系统:  

列出(hd1,1)分区下文件

把D盘替换成U盘ESP分区实际盘符

在命令行状态,可以根据需要加载或移除相应模块,也可用来启动在菜单没有显现的的系统。
比如,在第一硬盘的第一分区上装有windowsxp系统,但在菜单上没显示出来,我们可以命令行状态下输入命令启动:
grub>setroot=(hd0,1)
grub>chainloader 1
grub>boot

umount /mnt/proc

}

按c进入命令行状态,按Tab键可查看所有可用的命令。

#不喜欢看到一长串的, roo=UUID=***可用root=/dev/sda7代替

 

1、按e进入己选择菜单的编辑状态,在编辑状态下,由上下左右箭号来移动光标,enter键换行,ctrl x以编辑的内容启动,ctrl c进命令行状态,按Esc退出,回到菜单项。
在需要使用额外的内核参数启动时,比如要加上acpi=off时,把光标移动到linux这一行最后,在splash后加上一空格再输入acpi=off,然后按ctrl x启动。

sudo -i

查看磁盘情况

其中内核vmlinuz和initrd.img的版本号可用按Tab键自动查看。

四、双硬盘双系统 Grub Loading时间过长的解决方案

menuentry "BIOS Install CentOS71511 ks"{
echo "BIOS Install CentOS71511 Minimal ks"
set root=(hd0,msdos1)
linux /isolinux/vmlinuz inst.stage2=hd:LABEL=ULTRA:/ inst.ks=hd:LABEL=ULTRA:/isolinux/ks.cfg quiet
initrd /isolinux/initrd.img
}

set失去作用。
>10)loopback
loopback命令可用于建立回放设备,如
loopbacklo0(hd1,1)/abc.iso
可以使用lo0设备来访问abc.iso里的内容,比如说,可以从abc.iso里的软盘映像中启动
loopbacklo0(hd1,1)/aa.iso
linux(lo0)/memdisk
initrd(lo0)/abc.img
要删除某一回放设备,可以使用-d参数:
loopback-dlo0
11)pager
分页显示。
setpager=1
显示满一页时暂停,按space继续
setpager=0
取消分页显示
12)linux
用linux命令取代grub中的kernel命令
13)chainloader
调用另一个启动器,如
chainloader(hd0,1) 1
调用第一硬盘第一分区引导扇区内的启动器,可以是windows或linux的启动器
14)grub2挂载软盘镜像
menuentry"BootfromDOSIMG"{
linux16/memdisk
initrd16/win98.img
}
对非标准的1.4M和2.8M的其他镜像挂载方法,需要指定CHS参数:
menuentry"BootfromIMG"{
linux16/memdiskc=*h=*s=*floppy
initrd16/xxx.img
}

# 手动添加时,硬盘编号从0开始(hd0),主分区编号从1开始(hd0,1),逻辑分区从5开始(hd0,5)

menuentry 'Reboot' --class reboot {
echo 'Rebooting ...'
reboot
}

1)help
查看命令用法,如
helpsearch:查看search命令详细用法
2)set
设置变量值,如
setdefault=0
settimeout=5
setroot=(hd0,3)等等
需要调用变量AA的值时,使用${AA},如setroot=(hd1,1),则${root}=(hd1,1)
3)default
定义默认引导的操作系统。0表示第一个操作系统,1表示第2个,依此类推
4)timeout
定义在时间内用户没有按下键盘上的某个按键,自动引导default指定的操作系统。
5)root
指定用于启动系统的分区。
6)insmod和rmmod
加载或移除某模块,如
insmodjpeg
insmodpng
insmodntfs
rmodpng

7)drivemap
drivemap兼容grub的map,主要用于只能从第一硬盘(hd0)引导启动的系统如win2000xp2003,比如要添加第二硬盘第一分区上的xp系统:
menuentry"WindowsXP"{
setroot=(hd1,1)
drivemap-s(hd0)${root}
chainloader 1
}
8)ls
列出当前的所有设备。如(hd0),(hd0,1),(hd0,5),(hd1),(hd1,1),(hd1,2)等
ls-l
详细列出当前的所有设备。对于分区,会显示其label及uuid。
ls/
列出当前设为root的分区下的文件
ls(hd1,1)/
列出(hd1,1)分区根目录的文件
9)search
search-f/ntldr
列出根目录里包含ntldr文件的分区,返回为分区号
search-lLINUX
搜索label是LINUX的分区。
search--set-f/ntldr
搜索根目录包含ntldr文件的分区并设为root,注意如果多个分区含有ntldr文件,

linux /grub.exe

grub2 mbr安装

http://msnpiki.msnfanatic.com/index.php/Main_Page--> x;margin-bottom:0px;margin-left:0px;font-family:Arial;">grub>setroot=(hd1,5)  grub>linux/boot/vmlinuz-xxx-xxxroot=/dev/sdb5  grub>initrd/boot/initrd.img-xxx-xxx  grub>boot 

terminal gfxterm

E:grub-2.02-for-windows>wmic diskdrive list brief
Caption                   DeviceID            Model                     Partitions  Size
INTEL SSDSCKKF256H6L      \.PHYSICALDRIVE0  INTEL SSDSCKKF256H6L      3           256052966400
SanDisk Ultra USB Device  \.PHYSICALDRIVE1  SanDisk Ultra USB Device  2           30746096640

...

另一个在最后

一、BIOS方式,grub2安装

搜索根目录包含ntldr文件的分区并设为root,注意如果多外分区含有ntldr文件,set 失去作用。

 

取消#GRUB_GFXMODE=640×480这一行前面的注释符号,并将后面的数字修改为一个合适的值,不需要太高,比如1024x768。这个值同时会影响grub启动菜单和控制台里文字的分辨率。 

menuentry "EFI Windows Boot Manager" {
echo "EFI Windows Boot Manager"
#search --file ($root)/efi/Microsoft/boot/bootmgfw.efi --set=root
terminal_output console
chainloader (hd0,msdos1)/efi/Microsoft/boot/bootmgfw.efi
}

set root=(hd0,7)

4、编写grub.cfg配置文件,复制对应的ESP分区下bootgrub目录下

initrd /veket/initrd.gz

E:grub-2.02-for-windows>grub-install.exe --target=i386-pc \.PHYSICALDRIVE1
Installing for i386-pc platform.
Installation finished. No error reported.

if terminal_output gfxterm ; then true ; else

menuentry "DiskGenuis Tool"{
set root='(hd0,msdos1)'
linux16 /boot/Grub/memdisk
initrd16 /PE/imgs/DG_x64.img
}

set pager=1

二、UEFI方式,grub2安装

 

menuentry " "{
configfile
}

chroot /mnt update-grub

menuentry 'EFI Install CentOS 7' --class fedora --class gnu-linux --class gnu --class os {
echo "EFI Install CentOS71511 Minimal"
set root=(hd0,msdos1)
linux /isolinux/vmlinuz inst.stage2=hd:LABEL=ULTRA:/ quiet
initrd /isolinux/initrd.img

前面这五个脚本对应grub.cfg上的各个部分,怎样修改这些脚本文件才能保证不会破坏update-grub的运行,又能让grub.cfg符合你的意愿呢?其实很简单,只要找到

menuentry "BIOS Install CentOS71511"{
echo "BIOS Install CentOS71511 Minimal"
set root=(hd0,msdos1)
linux /isolinux/vmlinuz inst.stage2=hd:LABEL=ULTRA:/ quiet
initrd /isolinux/initrd.img
}

initrd (hd1,1)/a.img

menuentry " "{
configfile
}

search -no-floppy -fs-uuid -set ece067d2e067a196

#set prefix=(${root})/boot/Grub/

grub.cfg文件中主要包含两个部分,一部分是 各个启动项的定义,第二部分是启动界面的设置。你可以直接用gedit打开该文件看其中的内容。既然grub.cfg不能修改,那也没什么好详细说的了, 稍微研究下就能看懂里面是怎么写的。下面就介绍一下Grub 2的另外两个部分。

 

grub rescue>insmod /boot/grub/normal.mod

3、把ESP分区下EFIboot目录下的grubx64.efi文件改名为bootx64.efi

给grub2菜单添加图片

1、给Sandisk Ultra U盘在末段分一个 FAT32 格式的分区,并且改变分区类型为:

cat << EOF  www.2cto.com  

set timeout=300

 

menuentry "BIOS Windows Boot Manager" {
echo "BIOS Windows Boot Manager"
#set root=(hd0,msdos1)
insmod ntldr
ntldr (hd0,msdos1)/boot/bootmgr
}

方法一 grub4dos0.4.4

0xEF Partition with an EFI file system  【可能需要】

详细列出当前的所有设备。对于分区,会显示其label及uuid。

grub2 UEFI安装

else

2、导入EFI目录到U盘ESP分区的根目录,导入grub程序文件到U盘ESP分区的boot目录。

# 挂载你其他的分区,如果有的话

C:WINDOWSsystem32>f:

D:>cd grub-2.02-for-windows

D:grub-2.02-for-windows>grub-install.exe --target=x86_64-efi --efi-directory=d: --boot-directory=d:boot --bootloader-id=boot --modules="part_msdos fat normal"
Installing for x86_64-efi platform.
Installation finished. No error reported.

#挂载你其他的分区,如果有的话

EOF

initrd /CDlinux/initrd

Grub 2结构

代码:

  • C退出,按Ctrl X 以编辑内容启动。

看看打开的文件可作什么修改:

#默认为0 

在Windows启动项上加上grub4dos启动(不多说了,看置顶贴),重启选择进入grub,在命令行下输入(/boot单独分区的去掉 /boot)

drivemap (hd0) (hd1)

  1. 由于root分区uuid改变造成的不能正常启动,只能进入grub rescue模式的修复

}  www.2cto.com  

$ sudo update-grub 

mount 你的根分区 /mnt

fi

#设置终端字体,unicode.pf2支持中文显示 

insmod gfxterm

insmod ntfs

saved_entry=/${prev_saved_entry}

}

改到命令行下

cat /boot/grub/grub.cfg

   Grub 2的另外两部分内容其实就分别对应于grub.cfg中的两部分内容。

drivemap (hd1) (hd0)

cat << EOF

}

EOF

GRUB_TIMEOUT="3"----------->设置进入默认启动项的等候时间,默认值10秒,按自己需要修改

fi

#设置分辨率,默认为 640×480,可用800×600,1024×768,建议跟你想设定的图片大小一致 

GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`

 

### BEGIN /etc/grub.d/40_custom ###

 

 

  1. set

 

#windows 启动菜单

set timeout=0

}

#设置 GRUB 2 终端为 gfxterm 

search -set -f /ntldr

linux16 $MEMTESTPATH *********

search -l LINUX  www.2cto.com  

 

if keystatus -shift; then

sudo gedit /etc/default/grub 

Livcd启动进入试用

 

grub rescue>set

if sleep$verbose -interruptible 3 ; then

硬盘安装时iso放在C盘,umount /isodevice引起的误认为单系统

代码:  www.2cto.com  

#设定root分区 

### END /etc/grub.d/40_custom ###

drivemap 兼容 grub 的 map,主要用于只能从 (hd0) 引导启动的系统如 win2000 xp 2003,可以象 map 用法一样如:

set menu_color_normal=white/black

  1. loopback

则${root}=(hd1,1)

这时就可以调出 /boot/grub/grub.cfg,修改相应uuid,

set gfxmode=640×480  www.2cto.com  

#除了用作启动的分区外,其他分区格式可在menu底下再添加 

}

  1. 双系统重装windows造成grub2被改写的修复

 

set default=${GRUB_DEFAULT} <----- 这里根据 /etc/default/grub中default变量设定,不用修改

把各项修改后保存,然后

EOF

# you can see them in real GRUB with the command `vbeinfo'

}

 

linux取代grub中的kernel

mount 你的/boot 分区 /mnt/boot #如果有的话

 

# 查找到其他分区上的linux系统并自动添加

save_env prev_saved_entry

删除或修改三处set timeout=<大于0>

  1. 修改 /etc/default/grub 中默认的启动项,设置该文件中 GRUB_DEFAULT 为你想要的值,这个值是生成的 grub.cfg 中各个启动项的从0开始的下标。该方法优点是修改不会被update-grub命令覆盖,缺点是当启动项的顺序变化之后,下标也就变了。。。

 

grub>set root=hd?,?

# 10_linux 为自动添加的当前root分区linux引导项

五、grub2几种修复方法  www.2cto.com  

列出根目录里包含ntldr文件的分区,返回为分区号

linux /boot/vmlinuz-2.6.31-9-386 root=UUID=f255285a-5ad4-4eb8-93f5-4f767190d3b3 ro quite splash

1.修改 /etc/grub.d/ 中启动项的顺序,将你想要默认启动的项顺序设置为较小的值。优点是修改不会被update-grub命令覆盖掉,好像没啥缺电,只有另外的程序修改为比你的值更小了才会成为默认启动。 

}

#windows格式为ntfs,或为fat32改为 insmod fat

menuentry "Windows Vista (loader) (on /dev/sda1)" {

loopback -d lo0

列出当前设为root的分区下的文件

第二步:修改/etc/grub.d/00_header文件 

grub rescue>prefix=(hd?,?)/boot/grub

grub rescue>set prefix=(hd?,?)/boot/grub

set root=(hd0,8)

    其实不用修改 grub.cfg,只要把个性化配置写入/etc/default/目录下的grub和/etc/gurb.d目录下的脚本文件,以后不管升级内核或者是升级grub所执行的update-grub,都会按要求创建个性化的grub.cfg。

GRUB_HIDDEN_TIMEOUT_QUIET=true  

要修改默认启动项,可以使用下面的方法:

 

menuentry "Memory test (memtest86 )" {

mount 你的根分区 /mnt

save_env saved_entry

fi

menuentry "Ubuntu, Linux 2.6.31-9-386″ {

linux16 $MEMTESTPATH

if keystatus; then

Grub 2特性 

  1. 开机自检后时按几下shift键,可调出菜单项

  2. sudo update-grub

linux /boot/vmlinuz-2.6.31-9-generic root=/dev/sda3

set timeout=0

本文由澳门皇冠金沙网站发布于网络操作,转载请注明出处:编辑所需的安装与启动实现