配置Grub以便启动Linux

来源:互联网 发布:java socket发送报文 编辑:程序博客网 时间:2024/05/16 05:29

一、要有 Grub-install 程序(如果没有,需要下载安装)

二、安装 Grub 到硬盘或相关设备(此处假设为第一个IDE硬盘,即hda)
        grub-install  --root-directory=/mnt  /dev/hda

三、修改Grub配置文件
       1)创建挂载目录
             mkdir /mnt/boot
       2)挂载硬盘或相关设备
             mount /dev/hda1 /mnt/boot
       3)修改device.map文件, 删除(fd0),(hd1)之类整行语句
             vi /mnt/boot/grub/device.map
       4)创建或添加grub/grub.conf文件,并添加如下内容
             vi /mnt/boot/grub/grub.conf
                   title Little Linux
                      root (hd0,0)
                      kernel /vmlinuz ro root=/dev/hda quiet
                      initrd /initrd.gz
           (注:此处vmlinuz为内核文件,initrd.gz为内存根文件系统)

四、复制内核文件和内存根文件系统到硬盘或相关设备的根目录下并命名为vmlinuz及initrd.gz
       cp ....../.....  /mnt/boot/vmlinuz
       cp ....../.....  /mnt/boot/initrd.gz

五、重启测试,应该可以看见启动菜单了

 

PS:手动方式(假设宿主系统已有/boot/grub,且目标设备为/dev/hda)
    1、mkidr /mnt/boot                        (创建挂载目录)
    2、mount /dev/hda1 /mnt/boot      (挂载硬盘或相关设备)
    3、mkdir /mnt/boot/grub                (目标盘建立grub目录)
    4、cp /boot/grub/device.map /mnt/boot/grub   (拷贝宿主盘中的grub必要文件)
    5、cp /boot/grub/stage1 /mnt/boot/grub          (拷贝宿主盘中的grub必要文件)
    6、cp /boot/grub/stage2 /mnt/boot/grub          (拷贝宿主盘中的grub必要文件)
    7、vi /mnt/boot/grub/grub.conf      (修改grub配置文件)
          default=0
          timeout=10
          title Linux
              /vmlinuz ro root=/dev/hda quiet
              initrd /initrd.gz
    8、cd /mnt/boot/grub                    (进入目标盘grub目录)
    9、ln -s grub.conf menu.lst           (创建一个链接)
    10、/sbin/grub --batch --device-map=/dev/null <<EOF    (执行安装grub动作命令)
            device (hd0) /dev/hda
            root (hd0,0)
            setup (hd0,0)
            quit
        EOF
    11、重启测试