billbear老大请移步过来看看~~要怎么修改grub2来直接引导squashfs镜像啊?

启动讨论 grub/grub2/syslinux/grub4dos/Lilo
头像
grahamgan
帖子: 194
注册时间: 2008-09-07 14:47

billbear老大请移步过来看看~~要怎么修改grub2来直接引导squashfs镜像啊?

#1

帖子 grahamgan » 2010-10-27 21:01

billbear兄你好!你在Live Ubuntu Backup V2.2,备份你的 ubuntu 为可启动的 squashfs 文件一帖中的第三楼曾写到:
……
可以把备份都放在内置硬盘启动;
可以把备份都放在移动硬盘,从移动硬盘启动;
也可以把内核放在内置硬盘,squashfs 放在移动硬盘,从内置硬盘引导内核启动移动硬盘的备份

代码: 全选

# 如何在 linux 机器上直接启动你的 backup20090524.squashfs:
# 在任意分区根目录建立一个 "casper" 文件夹 (注意 gnu grub 不能读取 NTFS, 因此不能把 casper 放在那里) 并拷贝 backup20090524.squashfs, initrd.img-2.6.28-11-generic, vmlinuz-2.6.28-11-generic 到它里面
# 然后拷贝下面的两个 Live Ubuntu Backup 启动项到 /boot/grub/menu.lst 末尾并把 "find --set-root" 行改为 "root (hd?,?)" (你创建 "casper" 文件夹的那个分区)

default   0
timeout 10

title Live Ubuntu Backup 20090524
find --set-root /casper/vmlinuz-2.6.28-11-generic
kernel /casper/vmlinuz-2.6.28-11-generic boot=casper ro ignore_uuid
initrd /casper/initrd.img-2.6.28-11-generic

title Live Ubuntu Backup 20090524, Recovery Mode
find --set-root /casper/vmlinuz-2.6.28-11-generic
kernel /casper/vmlinuz-2.6.28-11-generic boot=casper ro single ignore_uuid
initrd /casper/initrd.img-2.6.28-11-generic
这种写法是grub1中的,如果要把这启动项加到grub2中又该如何写呢?
我从网上下载了BackTrack4的ISO镜像,因为硬盘空间不够,所以不打算安装到硬盘里,只想通过修改grub2直接引导这个镜像,未果。把镜像挂载后发现它并不是像ubuntu或其他常规发行版LiveCD那样的结构。它里面就两个文件夹,一个boot一个casper,boot中是普通的引导文件,而casper中只有三个文件,其中之一就是个squashfs镜像。于是我又把这个squashfs镜像挂载了,发现里面就是个完整的linux系统的备份。
现在我把这个casper文件夹提取到/目录下,又按你上面说的把光盘中boot文件夹下的内容也提取到了casper文件夹里,然后照葫芦画瓢修改了grub.cfg文件的最下面一段:

代码: 全选

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry "启动 Back Track 4" {
   insmod   ext2
   set   root='(hd0,8)'        #我的/分区
   linux   /casper/vmlinuz boot=casper ro ignore_uuid vga=0x317
   initrd   /casper/initrd.gz
}
### END /etc/grub.d/40_custom ###
修改成这样后还是不能引导squashfs。改来改去要么进了busybox,要么就是提示什么几个分区(既包括win的,也包括lin的)挂载不了无限循环报错(错误信息忘了保存了)。
请问我要怎么修改grub.cfg才能正确引导这个squashfs镜像呢?望不吝赐教,先谢过了!
卸载未使用的内核——sudo aptitude purge ~ilinux-image-.*\(\!`uname -r`\)
型号:联想Y450A-TSI(E)白色
处理器: Core 2 Duo T6600 2.2GHz
内存:DDR III 4G
硬盘:WD 320G
显卡:GeForce GT 240M
显示器:14' LED 1366x768
头像
grahamgan
帖子: 194
注册时间: 2008-09-07 14:47

Re: billbear老大请移步过来看看~~要怎么修改grub2来直接引导squashfs镜像啊?

#3

帖子 grahamgan » 2010-10-30 17:20

wzssyqa 写了:得用 casper 目录下的 vmlinuz 和 initrd.lz吧?
就是用的它们,可是不行……
卸载未使用的内核——sudo aptitude purge ~ilinux-image-.*\(\!`uname -r`\)
型号:联想Y450A-TSI(E)白色
处理器: Core 2 Duo T6600 2.2GHz
内存:DDR III 4G
硬盘:WD 320G
显卡:GeForce GT 240M
显示器:14' LED 1366x768
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

Re: billbear老大请移步过来看看~~要怎么修改grub2来直接引导squashfs镜像啊?

#4

帖子 billbear » 2010-10-31 23:25

我没用 grub2 引导过 bt4, 不过我用 grub 0.97 引导过 bt4-prefinal
感觉你写的没啥错啊,检查一下是不是(hd0,8),grub2 的 (hd0,8),乃是 grub0.97 的 (hd0,7),这个你应该知道的吧。
回头我试试看,这几天我手上没有电脑,回家再说
而且 grub2 被我干掉了的:)
头像
grahamgan
帖子: 194
注册时间: 2008-09-07 14:47

Re: billbear老大请移步过来看看~~要怎么修改grub2来直接引导squashfs镜像啊?

#5

帖子 grahamgan » 2010-11-01 11:10

bill老大你终于看到我的帖子了啊,等了好久了…… :em06
在grub2里(hd0,x)这个x和sdax的x序号是一致的,这个和grub不一样我知道,所以肯定不是错在这个地方。
期待bill老大的指导~~ :em11
卸载未使用的内核——sudo aptitude purge ~ilinux-image-.*\(\!`uname -r`\)
型号:联想Y450A-TSI(E)白色
处理器: Core 2 Duo T6600 2.2GHz
内存:DDR III 4G
硬盘:WD 320G
显卡:GeForce GT 240M
显示器:14' LED 1366x768
头像
grahamgan
帖子: 194
注册时间: 2008-09-07 14:47

Re: billbear老大请移步过来看看~~要怎么修改grub2来直接引导squashfs镜像啊?

#6

帖子 grahamgan » 2010-11-15 9:17

怎么bill老大不回来了啊?等了好久了…… :em20
卸载未使用的内核——sudo aptitude purge ~ilinux-image-.*\(\!`uname -r`\)
型号:联想Y450A-TSI(E)白色
处理器: Core 2 Duo T6600 2.2GHz
内存:DDR III 4G
硬盘:WD 320G
显卡:GeForce GT 240M
显示器:14' LED 1366x768
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

Re: billbear老大请移步过来看看~~要怎么修改grub2来直接引导squashfs镜像啊?

#7

帖子 billbear » 2010-11-29 22:30

今天得闲装了 grub2,在 grub 命令行下,敲入
set root=(hd0,7)
linux /bt4-prefinal/boot/vmlinuz boot=casper ro
initrd /bt4-prefinal/boot/initrd.gz
boot
顺利进入从前放在 ntfs 分区的 bt4-prefinal.
所以你的菜单大概没有什么问题

抱歉很久没有上论坛了,由于种种原因 :em06
头像
grahamgan
帖子: 194
注册时间: 2008-09-07 14:47

Re: billbear老大请移步过来看看~~要怎么修改grub2来直接引导squashfs镜像啊?

#8

帖子 grahamgan » 2010-12-01 8:55

billbear 写了:今天得闲装了 grub2,在 grub 命令行下,敲入
set root=(hd0,7)
linux /bt4-prefinal/boot/vmlinuz boot=casper ro
initrd /bt4-prefinal/boot/initrd.gz
boot
顺利进入从前放在 ntfs 分区的 bt4-prefinal.
所以你的菜单大概没有什么问题

抱歉很久没有上论坛了,由于种种原因 :em06
首先感谢bill兄的回复。
不过你用的这个BT4是多大的那个版本?是不是1.3G的那个Pre版?
我用的1.5G大的Final版和1.9G的R1版都不能成功引导,早些的版本倒是可以…… :em06
刚刚去官网看了下,貌似又出新版了…… :em20
卸载未使用的内核——sudo aptitude purge ~ilinux-image-.*\(\!`uname -r`\)
型号:联想Y450A-TSI(E)白色
处理器: Core 2 Duo T6600 2.2GHz
内存:DDR III 4G
硬盘:WD 320G
显卡:GeForce GT 240M
显示器:14' LED 1366x768
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

Re: billbear老大请移步过来看看~~要怎么修改grub2来直接引导squashfs镜像啊?

#9

帖子 billbear » 2010-12-01 22:19

正是 1.3G 的 prefinal,我去年下载的
今年还没去过 backtrack,刚才看了一下,居然冒出了中文版页面。好吧,我下一个 r2
其实我挺喜欢 beta 的,用 slax 那套东西做的 ubuntu 衍生版
头像
grahamgan
帖子: 194
注册时间: 2008-09-07 14:47

Re: billbear老大请移步过来看看~~要怎么修改grub2来直接引导squashfs镜像啊?

#10

帖子 grahamgan » 2010-12-03 9:28

辛苦bill兄了…… :em06
卸载未使用的内核——sudo aptitude purge ~ilinux-image-.*\(\!`uname -r`\)
型号:联想Y450A-TSI(E)白色
处理器: Core 2 Duo T6600 2.2GHz
内存:DDR III 4G
硬盘:WD 320G
显卡:GeForce GT 240M
显示器:14' LED 1366x768
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

Re: billbear老大请移步过来看看~~要怎么修改grub2来直接引导squashfs镜像啊?

#11

帖子 billbear » 2010-12-07 9:07

r2 也引导得很好啊
你存了那么多版本,检查一下是不是别的分区根目录下还有叫 casper 的文件夹。只能有一个分区根下有和内核同一版本的 casper,否则 boot=casper 可能使用不相对应的 squashfs。
头像
grahamgan
帖子: 194
注册时间: 2008-09-07 14:47

Re: billbear老大请移步过来看看~~要怎么修改grub2来直接引导squashfs镜像啊?

#14

帖子 grahamgan » 2010-12-18 22:05

billbear 写了:r2 也引导得很好啊
你存了那么多版本,检查一下是不是别的分区根目录下还有叫 casper 的文件夹。只能有一个分区根下有和内核同一版本的 casper,否则 boot=casper 可能使用不相对应的 squashfs。
按这方法做了,可是不管用啊,总是启动到某个地方就无限循环了…… :em20
另外,ISO镜像里的casper文件夹非得放在WIN的分区下么?我是直接把这个文件夹放在/下的。
不知道启动的日志文件放在哪,只好拍了两张照片,见附件。 :em06
附件
20101218443.jpg
20101218444.jpg
卸载未使用的内核——sudo aptitude purge ~ilinux-image-.*\(\!`uname -r`\)
型号:联想Y450A-TSI(E)白色
处理器: Core 2 Duo T6600 2.2GHz
内存:DDR III 4G
硬盘:WD 320G
显卡:GeForce GT 240M
显示器:14' LED 1366x768
回复