记录一次U盘安装32位CentOS 5.5波折经历

本文介绍如何解决CentOS安装过程中引导程序错误安装到U盘而非目标硬盘的问题,并提供了详细的步骤来重新安装GRUB到正确的硬盘分区。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

find –set-root /centos-xxxx.iso
map /centos-xxxx.iso (hd32)
map --hook
chainloader (hd32)

 U盘启动用老毛桃(http://laomaotao.net/),怎么做就不具体说明了,很简单,你懂的

在U盘新建一个LMT目录

将CentOS 5.5的ISO文件放到LMT目录下

设置BIOS开机第一启动为U盘启动(这个每个人主板都不一样,按情况来)

选中自动扫描LMT目录下的ISO文件

这样CentOS安装程序就启动了

怎么安装就不说了。。。。

安装完成后,没看清楚,把GRUB安装到了U盘上(用U盘安装CentOS,如果使用默认的boot挂载,会将引导安装在U盘上,必须用U盘启动,遇到这种情况可以通过grub手动写入引导。

 

 

思路:将GRUB重新安装到硬盘而不是U盘,

1.将U盘改为用GRUB4DOS启动(可以用BOOTICE来做GRUB4DOS启动,GRUB4DOS版本用0.4.6a,将grldr,与menu.lst拷贝到U盘)

2.用GRUB4DOS启动CentOS 5.5安装程序

3.使用CentOS 5.5安装程序的 Linux Rescue(急救模式)

4.进入急救模式

5.将GRUB写入硬盘

进入grub

Linux代码  收藏代码
  1. [root@xxx home]# /sbin/grub  

 

找到grub的位置

Linux代码  收藏代码
  1. grub> find /grub/stage1     
  2.  (hd1,0)    

 如果提示Error 15: File not found,则尝试 find /boot/grub/stage1 或者 find stage1 

(hd1,0)代表的第二个硬盘的第一个分区,相应的(hd0,0)代表的就是第一个硬盘第一个分区,这一步其实就是告诉我们引导被写入了U盘中 【U盘是(hd1,0)】= =
我们将引导写入(hd0,0),即第一个磁盘第一个分区中
grub> root (hd0,0)   
 Filesystem type is ext2fs, partition type 0x83  
  
grub> setup (hd0)   
 Checking if "/boot/grub/stage1" exists... no   
 Checking if "/grub/stage1" exists... yes   
 Checking if "/grub/stage2" exists... yes   
 Checking if "/grub/e2fs_stage1_5" exists... yes   
 Running "embed /grub/e2fs_stage1_5 (hd0)"...  15 sectors are embedded.   
succeeded   
 Running "install /grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/grub/stage2 /grub/grub.conf"... succeeded   
Done.   
  
 退出GRUB模式
 

6.挂载硬盘的boot分区

因为是在急救模式,相当于用U盘启动的一个Linux系统。所以要挂载硬盘boot分区,

硬盘的Boot分区为hda1

然后修改启动的 /grub/menu.lst 或者 /grub/grub.conf  CentOS下这两个文件是绑定的,改一个即可

 

mkdir /mnt/hda1

mount /dev/hda1 /mnt/hda1

vi /mnt/hda1/grub/grub.conf(我记得我改的是这个吧)

 

 

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grua anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd1,0)
#          kernel /vmlinuz-version ro root=/dev/hda2
#          initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-194.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-194.el5 ro root=LABEL=/ apm=on apm=power-off rhgb quiet
       initrd /initrd-2.6.18-194.el5.img
#title Other
#       rootnoverify (hd0,0)
#       chainloader +1
 

 

只需要把(hd1,0)改为(hd0,0)

重启就行了

备注:apm=on apm=power-off,用于关机命令不能正常关机,要求BIOS开启APM APCI

 

总结:其实一开始不用老毛桃U盘启动也行,直接用GRUB4DOS,来启动ISO,(GRUB4DOS启动CentOS安装程序,有两种方法,一种是将ISO文件中的isolinux解压出来,放到U盘,然后设置kernel跟initrd来启动,还有一种是用GRUB4DOS的加载ISO的功能【用map命令】),注意安装的时候看清楚,将GRUB安装到硬盘,就没那么多麻烦事了

 

下面就说下map命令 GRUB Command模式:

find --set-root /centosxxx.iso
map /centosxxx.iso (hd32)
map --hook
chainloader (hd32)
boot

或
find --set-root /centosxxx.iso
map /centosxxx.iso (0xff)
map --hook
chainloader (0xff)
boot

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值