通过grub硬盘安装centos7

 

centos7与centos6.x有了很大的不同,从硬盘安装的方法也有了很大的不同,故出此文章
我机器环境如下:
    有俩系统 Win7 和 RHEL6.4 ,是通过grub(非grub2)引导的,grub安装在/dev/sda4分区下,  /dev/sda4挂载到/boot目录
安装步骤:
(1) 目录结构
解压centos7.iso中的/isolinux/{vmlinuz,initrd.img} 到 /boot 根目录下;
解压centos7.iso中的/LiveOS/squashfs.img 到 /boot 根目录下 (如果/boot 目录下空间不够,可以放到其他分区下,当然下面grub项 “repo=hd:/dev/sda4:/”  也要相应改变)
将centos7.iso 也放到 和/LiveOS 同目录下
(2) 新增grub(非grub2)条目:
title Install Centos7
        root (hd0,3)
        kernel /isolinux/vmlinuz linux repo=hd:/dev/sda4:/
        initrd /isolinux/initrd.img
(3) 可以将centos7.iso中的剩余内容重新制作iso (如果有原版iso,此步骤可跳过)
# LiveOS/squashfs.img加载centos7.iso时,会检测.discinfo文件第三行和md5值
>>> touch centos7/.discinfo
>>> echo -e 'fake you!\nfake you!\nx86_64 > centos7/.discinfo
# 参数-joliet-long -R -J -T 很重要,否则会出现文件名会变短等问题
>>> genisoimage -o centos7.iso -joliet-long -R -J -T centos7/
# 将md5值嵌入iso文件内部
>>> implantisomd5 centos7.iso
# 验证md5是否正确
>>> checkisomd5 --gauge centos7.iso
(4) 重启,开始安装吧。。。。安装后,mbr被重写
(5) 增加原Win7、RHEL64的启动项(/boot/grub2/grub.cfg):
menuentry "Windows 7" {
        insmod ntfs
        set root='hd0,msdos1' # 表示/dev/sda1 (hd0,0)
        chainloader +1
        boot
}
menuentry 'RHEL6.4'{
        insmod part_msdos
        insmod lvm
        insmod ext2
        set root='hd0,msdos4' # 表示/dev/sda4 (hd0,3)
        linux /vmlinuz-2.6.32-358.el6.x86_64 ro root=/dev/mapper/VG00-lvroot rd_NO_LUKS rd_LVM_LV=VG00/lvroot rd_NO_MD rd_LVM_LV=VG00/lvswap LANG=zh_CN.UTF-8  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM text
        initrd /initramfs.img
}
# centos7已经使用grub2了,grub2支持放到LV存储上

posted @ 2017-06-16 10:18  k98091518  阅读(2409)  评论(0编辑  收藏  举报