LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: winsphinx

为什么我的lfs 有1.5G?

[复制链接]
发表于 2006-11-17 23:35:46 | 显示全部楼层
Post by shixin2622
我用的是cp -R,cp完以后我还查看了属性和大小,都没问题。
在/etc/fstab中
LABEL=/                 /                       ext3    defaults        1 1
none                    /dev/pts                devpts  gid=5,mode=620  0 0
none                    /proc                   proc    defaults        0 0
none                    /dev/shm                tmpfs   defaults        0 0
/dev/sda2               swap                    swap    defaults        0 0
/dev/cdrom              /mnt/cdrom              udf,iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0                /mnt/floppy             auto    noauto,owner,kudzu 0 0

我把LABEL=/ 改成“/dev/sdb1”,此下面是根目录,把/dev/sda2改成改成“/dev/sdb2”,此为交换分区,总共就这两分区,其它我都没改了。

livecd下grub不起作用,于是我启动原先的RH9,在其下面grub,也是
> root  (hd0,0)
> setup  (hd0)

最后修改了/etc/grub.conf,
default=0
timeout=0
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title Red Hat Linux (2.4.20-8)
    root (hd0,0)
    kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/
    initrd /boot/initrd-2.4.20-8.img

把“ kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/”改成:“kernel /boot/vmlinuz-2.4.20-8  root=/dev/sdb1”

最后把以前的硬盘卸了,启动就成附件那样子了,错误是从挂载文件系统的时候就开始了。RH9系统,以前是用grub引导的。我回去在按你说的那些参数试试。谢谢你的关注!

我刚才使用lfslivecd-x86-6.2-3.iso启动我的虚拟机后可以使用grub指令的呀

另外redhat9 shrike-i386-disc1.iso也有的
昨天我还使用它进入rescue模式grub恢复了我的rh9---之前我用lilo把它弄残废了


我个人感觉 你的问题出在你的更改上!!
因为你的目的是想卸载老硬盘 只有新硬盘情况下单独引导
这时候新硬盘就是sda
我的解决方法
1.卸载老硬盘只挂载新硬盘
2.使用lfslivecd或redhat9 shrike-i386-disc1.iso启动系统
(后者的话最好进入救援模式因为它会自动帮你挂载硬盘系统分区)
3.mount你的新硬盘分区(如果是rh9 iso 救援模式 就不必了 直接进入自动挂载的目录)
4.把/etc/fstab里边的sdb改回sda
5.检查看你的sda2(新硬盘的2号分区)是否已经作成了交换分区?
6.#grub
> root (hd0,0)
> setup (hd0)
7.从新硬盘引导应该ok了

其实你的新硬盘独自可以启动到加载文件系统的地步
我想只要你的fstab里边的sdb改回sda+你的新硬盘第二分区(sda2)有交换分区的话
就能顺利启动了

以上愚见 希望能有效!!
回复 支持 反对

使用道具 举报

发表于 2006-11-18 11:57:53 | 显示全部楼层

问题解决

Post by ppluer
我刚才使用lfslivecd-x86-6.2-3.iso启动我的虚拟机后可以使用grub指令的呀

另外redhat9 shrike-i386-disc1.iso也有的
昨天我还使用它进入rescue模式grub恢复了我的rh9---之前我用lilo把它弄残废了


我个人感觉 你的问题出在你的更改上!!
因为你的目的是想卸载老硬盘 只有新硬盘情况下单独引导
这时候新硬盘就是sda
我的解决方法
1.卸载老硬盘只挂载新硬盘
2.使用lfslivecd或redhat9 shrike-i386-disc1.iso启动系统
(后者的话最好进入救援模式因为它会自动帮你挂载硬盘系统分区)
3.mount你的新硬盘分区(如果是rh9 iso 救援模式 就不必了 直接进入自动挂载的目录)
4.把/etc/fstab里边的sdb改回sda
5.检查看你的sda2(新硬盘的2号分区)是否已经作成了交换分区?
6.#grub
> root (hd0,0)
> setup (hd0)
7.从新硬盘引导应该ok了

其实你的新硬盘独自可以启动到加载文件系统的地步
我想只要你的fstab里边的sdb改回sda+你的新硬盘第二分区(sda2)有交换分区的话
就能顺利启动了

以上愚见 希望能有效!!

问题已经解决,但我觉得ppluer有几个细节没有提到:
一、卸载掉旧硬盘,比如(SCSI 0:0),这时必须把新硬盘(SCSI 0:1)的device node改成(SCSI 0:0),因为引导后linux是把(SCSI 0:1)标识为sdb的。
二、修改grub.conf和fstab文件,就是把“LABEL=/”换成“/dev/sda1”即可
三、必须运行挂载后的新硬盘里的grub命令,比如我把/dev/sda1挂载到/mnt下,那么必须运行/mnt/sbin/grub,否则后面的设置是无效的,重启后也找不到能bootable的硬盘。

再次谢谢ppluer兄!
回复 支持 反对

使用道具 举报

发表于 2006-11-18 12:27:53 | 显示全部楼层
Post by shixin2622
问题已经解决,但我觉得ppluer有几个细节没有提到:
一、卸载掉旧硬盘,比如(SCSI 0:0),这时必须把新硬盘(SCSI 0:1)的device node改成(SCSI 0:0),因为引导后linux是把(SCSI 0:1)标识为sdb的。
二、必须运行挂载后的新硬盘里的grub命令,比如我把/dev/sda1挂载到/mnt下,那么必须运行/mnt/sbin/grub,否则后面的设置是无效的,重启后也找不到能bootable的硬盘。
三、做过上述两步工作后,文件grub.conf和fstab可以不用改动。

再次谢谢ppluer兄!


呵呵 其实我是个newbie
我的虚拟机当初是在ubuntu系统下挂了lfs磁盘(scsi0:1)和一块新硬盘作的拷贝
然后我在vmware里边新建虚拟机使用刚才复制好的新硬盘(scsi0:0)
我当初改fstab是因为我一时疏忽忘记在新硬盘里预留交换分区了
我把交换分区建在另外一个单独的硬盘上
这样我手动克隆的系统才正常启动了
看来是我侥幸了
我还真没有想到device node的概念
和你交流让我受益良多

最近我也一直被这些sda sdb的命名困扰着
我在rh9.0下作软盘引导盘
但是实际中我手头只有usb-FDD
我在rh9里usb-fdd是sdb
在实际使用中我电脑没有scsi硬盘就应该又是sda
对lilo.conf配置彻底糊涂了
后面就发生了使用lilo不小心就把sda上的系统引导给破坏掉了


看着需要学习系统引导的原理阿 感觉dos的引导傻瓜的多
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表