终端打开grub是空白cdr文件打开空白

3858人阅读
Linux学习(5)
一、grub.cfg详解(红色为说明)
说明:grub.cfg默认为只读,需要个性化配置文件的,建议不要直接修改grub.cfg,请参考链接的pdf文档和google文档。
set default=0
insmod jpeg
#添加jpg支持,如要使用png或tga文件做背景,加上 insmod png或insmod tga
insmod ext2
#除了用作启动的分区外,其他分区格式可在menu底下再添加
set root=(hd0,7)
#设定root分区
search --no-floppy --fs-uuid --set fad4-4eb8-93f5-4fb3
#设定uuid=****的分区为root,和上句重复,可删除
# 以下为终端配置
if loadfont /usr/share/grub/unicode.pf2 ; then
#设置终端字体,unicode.pf2支持中文显示
set gfxmode=640x480
#设置分辨率,默认为 640x480,可用800x600,,建议跟你想设定的图片大小一致
insmod gfxterm
#插入模块 gfxterm,支持中文显 示,它还支持 24 位图像
insmod vbe
#插入 vbe 模块,GRUB 2 引入很多模块的东西,要使用它,需要在这里加入
if terminal_ else
# For backward compatibility with versions of terminal.mod that don't
# understand terminal_output
terminal gfxterm
#设置 GRUB 2 终端为 gfxterm
set timeout=10
background_image (hd0,7)/boot/images/1.jpg
#设置背景图片
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=cyan/black
#这两行为 Debian 下的菜单颜色设置,如果默认的话,你会发现背景完全被蓝色挡住了,你需要修改 blue 为 black,这样背景就会出现
### END /etc/grub.d/05_debian_theme ###
# 10_linux 为自动添加的当前root分区linux引导项
### BEGIN /etc/grub.d/10_linux ###
#菜单项,要包括 menuentry 双引号& & 和大括号 { }才完整,否则不显示菜单
menuentry &Ubuntu, Linux 2.6.31-9-386& {
insmod ext2
set root=(hd0,7)
search --no-floppy --fs-uuid --set fad4-4eb8-93f5-4fb3
#这句与set root=(hd0,7)重复,可删除
linux /boot/vmlinuz-2.6.31-9-386 root=UUID=fad4-4eb8-93f5-4fb3 ro quite splash
#不喜欢看到一长串的, roo=UUID=***可用root=/dev/sda7代替
initrd /boot/initrd.img-2.6.31-9-386
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry &Memory test (memtest86+)& {
linux16 /boot/memtest86+.bin
### END /etc/grub.d/20_memtest86+ ###
# 自动添加存在于其他分区的系统引导项
### BEGIN /etc/grub.d/30_os-prober ###
#windows 启动菜单
menuentry &Windows Vista (loader) (on /dev/sda1)& {
insmod ntfs
#windows格式为ntfs,或为fat32改为 insmod fat
set root=(hd0,1)
search --no-floppy --fs-uuid --set ece067d2e067a196
#grub2比较先进的地方就是如果发现windows启动是通过ntldr 引导的,定为2000/xp/2003,会在这加上 drivemap -s (hd0) ${root} ,作用相当于grub的map,可正常启动非第一硬盘的xp/2003系统。
chainloader +1
# 查找到其他分区上的linux系统并自动添加
menuentry &Ubuntu karmic (development branch) (9.10) (on /dev/sda3)& {
insmod ext2
set root=(hd0,3)
search --no-floppy --fs-uuid --set 4d5-44ed-86b3-1de45b2db84a
linux /boot/vmlinuz-2.6.31-9-generic root=/dev/sda3
initrd /boot/initrd.img-2.6.31-9-generic
#若存在macos会自动在这里添加。
### END /etc/grub.d/30_os-prober ###
# 以下为手动添加的菜单项
### BEGIN /etc/grub.d/40_custom ###
menuentry &CDLinux&{
set root=(hd0,8)
linux /CDlinux/bzImage root=/dev/ram0 vga=791 CDL_LANG=zh_CN.UTF-8
initrd /CDlinux/initrd
### END /etc/grub.d/40_custom ###
# 手动添加时,硬盘编号从0开始(hd0),主分区编号从1开始(hd0,1),逻辑分区从5开始(hd0,5)
二、grub2终端部分命令介绍
在出现选择菜单时,按C进入终端命令行模式,按E进入当前菜单项编辑模式(和grub一样),编辑中按Ctrl + C退出,按Ctrl + X 以编辑内容启动。
查看命令用法,显示所有可用命令
help search
search 命令用法
列出当前的所有设备。如 (hd0) (hd0,1) (hd0,5) (hd1) (hd1,1) (hd1,2) .......
详细列出当前的所有设备。对于分区,会显示其label及uuid。
列出当前设为root的分区下的文件
ls (hd1,1)/
列出(hd1,1)分区下文件
search -f /ntldr
列出根目录里包含ntldr文件的分区,返回为分区号
search -l LINUX
搜索label是LINUX的分区。
search --set -f /ntldr
搜索根目录包含ntldr文件的分区并设为root,注意如果多外分区含有ntldr文件,set 失去作用。
4. loopback
loopback命令可用于建立回放设备,如
loopback lo0 (hd1,1)/abc.iso
可以使用lo0设备来访问abc.iso里的内容,比如说,可以从abc.iso里的软盘映像中启动
loopback lo0 (hd1,1)/aa.iso
linux (lo0)/memdisk
initrd (lo0)/abc.img
要删除某一回放设备,可以使用-d参数:
loopback -d lo0
使用set可以设置变量的值
set timeout=
需要调用变量的值时,使用${AA},如set root=(hd1,1)
则${root}=(hd1,1)
分页显示。
set pager=1
满页时暂停,按space继续
set pager=0
单linux系统或
硬盘安装时iso放在C盘,umount /isodevice引起的误认为单系统
不能出现菜单项的几种处理方法。
1. 开机自检后时按几下shift键,可调出菜单项
2. sudo update-grub
重建grub.cfg,会发现新的系统而改写grub.cfg,一般能出现菜单项。
3.如第二种方法不能解决,直接修改grub.cfg
把在### BEGIN /etc/grub.d/30_os-prober 中的这一段
if keystatus -- then
set timeout=-1
set timeout=0
if sleep$verbose --interruptible 3 ; then
set timeout=0
删除或修改三处set timeout=&大于0&
四、双硬盘双系统 Grub Loading时间过长的解决方案
grub2的boot.img设定root的uuid从第一分区开始搜索分区的/boot/grub下的模块并加载, 如果linux分区处于第二硬盘甚至第三硬盘,会导致搜索时间过长而,出现菜单时间会长达10多秒。
对双(多)硬盘的情况建议把grub安装在ubuntu所在硬盘的mbr上,/boot分区或 / 分区 尽量靠前,并设该硬盘为启动盘,会大大缩短启动时间。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:75806次
积分:1714
积分:1714
排名:第18012名
原创:96篇
转载:23篇
评论:12条
(1)(1)(1)(7)(3)(2)(22)(50)(27)(1)(4)Grub引导开机启动项顺序修改及删除方法 | 毛栋梁-理想主义笔记&最近升级了vmware,提示vmware tools升级,操作后,提示不能写 vmlinux等,提示不要重新启动,再次安装后,还是同样的信息。后来因为有事情一不小心就关掉了。
在重新启动的时候提示grub rescue。
&解决方法:
& 1、用Ubuntu10.10光盘进入菜单栏后选择“试用而不是安装Ubuntu10.10的系统选项”;& 2、进入试用的系统后,打开终端,输入终端命令:& sudo fdisk -l (查看计算机分区列表)&请记录下来根分区 / 和 /boot 分区安装的位置(我的根分区位于/dev/sda6,/boot没有单独分区(若有则假设位于/dev/sda7)), 下面就以我的分区为例说明,请大家根据自己的磁盘分区情况进行相应修改;3、在终端输入命令:&
mkdir /mnt/disk
mount /dev/sda1 /mnt/disk
mount –bind /proc& /mnt/disk/proc
(注意,命令中都是两个 半角 “ 减 ” 号 啊!)
mount –bind /dev /mnt/disk/dev
mount –bind /sys /mnt/disk/sys
chroot /mnt/disk/&&&&&&& /切换到“ /mnt/disk”
grub-install --root-directory=/mnt/&& /dev/sda&& (注意此命令中root前面是两个减号横杠)
如果没有成功出现系统启动菜单,而是进入到有grub版本,下面是sh:grub& 这说明grub还缺少grub.cfg(这是grub2的启动项配置,在grub的目录下)文件,将对应的grub.cfg文件复制过去即可,这里要用root权限,可以通过终端下的sudo -i获得,然后进入到grub文件下,使用gedit grub.cfg,弹出一个gedit编辑框,将前面的grub.cfg文件的内容拷贝到这里,保存即可
&update-grub&&&&&&&&&&&&&&&&&&&&&&&&& (重建GRUB列表,将windows xp引导项修复)grub-install /dev/sda&&&&&&&&&&&&&& (重新写入第一分区mbr)
但是还是进不去,还是缺少文件。继续进行下面的操作
本来想想在网上找到boo的内容找了半天也没有发现,就在一个重新快速安装了而一个新的ubuntu系统(也就不到20分钟),然后见将原来的vm虚拟盘挂到了新系统做第二个硬盘使用。
启动后在终端输入命令:
mkdir& /mnt/olddisk
mount& /dev/sdb1 /mnt/olddisk
cp -rl /boot& /mnt/olddisk/&&& (在这一部前,备份一下grub.cfg,如果不备份,就做如下操作)
如果备份了grub.cfg,拷贝回去即可。否则
blkid&& (&查找到 原来启动分区的uuid )
原来sdb1启动分区的uuid 替换掉/mnt/oldisk/boot/grub/grub.cfg 中的新系统中的uuid
umount& /mnt/olddisk
关闭新系统。
重启原来的系统。成功
看来boot的内容还是需要备份一下,否则太麻烦了&
阅读(...) 评论()

我要回帖

更多关于 qq群文件打开空白 的文章

 

随机推荐