今天在虚机CentOS 65 上装 grub-install 报错
“unknown partition table”
反复格式化,dd清前 512的mbr,还是报错。
网上也查无结果。
想到还有台CentOS68,把硬盘挂上去。同样操作OK.
[root@localhost mnt]# lsblk /dev/sdf
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdf 8:80 0 20G 0 disk
├─sdf1 8:81 0 203.9M 0 part /mnt/boot
├─sdf2 8:82 0 5G 0 part
├─sdf3 8:83 0 1K 0 part
└─sdf5 8:85 0 14.8G 0 part /mnt/sysroot
#mkdir -p /mnt/{boot,sysroot}
#mount /dev/sdf1 /mnt/boot
#mount /dev/sdf5 /mnt/sysroot
# grub-install --root-directory=/mnt /dev/sdf
# vim /mnt/boot/grub/grub.conf
default=0
timeout=5
title CentOS (Express)
root (hd0,0)
kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/sda5 selinux=0 init=/bin/bash #专门指定出bash所在的地方。selinux=0 这个要加上,不然很多报错是因为这里。
initrd /initramfs-2.6.32-431.el6.x86_64.img
# mkdir -pv etc bin sbin lib lib64 dev proc sys tmp var usr home root mnt media
# cp /bin/bash /mnt/sysroot/bin/
# ldd /bin/bash #(查看需求关系
linux-vdso.so.1 => (0x00007fffec14b000)
libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007f0d33b86000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f0d33982000)
libc.so.6 => /lib64/libc.so.6 (0x00007f0d335ed000)
/lib64/ld-linux-x86-64.so.2 (0x00007f0d33daf000)
#cp /lib64/libtinfo.so.5 /mnt/sysroot/lib64/ #拷到相对的目录
# cp /lib64/libdl.so.2 /mnt/sysroot/lib64/
# cp /lib64/libc.so.6 /mnt/sysroot/lib64/
# cp /lib64/ld-linux-x86-64.so.2 /mnt/sysroot/lib64/
# chroot /mnt/sysroot/ #切换,测试成功与否
bash-4.1# #显示这种,成功。