1. 程式人生 > >如何給一塊新硬盤安裝grub,讓它成為一個只有一個內核的系統

如何給一塊新硬盤安裝grub,讓它成為一個只有一個內核的系統

libc key 分區類型 con mount 問題 2.6 usr grub.conf

1)先關機 2)添加一塊硬盤 3)將硬盤分區,/dev/sdb1為boot分區,/dev/sdb2為swap分區, /dev/sdb3為根分區 4)調整/dev/sdb2的分區類型為82,指定為swap分區 5)給/dev/sdb1、/dev/sdb3創建ext4創建文件系統,給/dev/sdb2創建swap文件系統 mkfs -t ext4 /dev/sdb1 mkfs -t ext4 /dev/sdb3 mkswap /dev/sdb2 6)在/mnt下創建boot目錄 mkdir /mnt/boot 7)掛載boot分區 mount /dev/sdb1 /mnt/boot 8)使用grub-install工具安裝grub
grub-install --root-directory=/mnt /dev/sdb 9)將/boot/目錄下的vmlinuz、initramfs 拷貝到 /mnt/boot目錄下 cp /boot/vmlinuz-2.6.32-504.el6.x86_64 /mnt/boot/vmlinuz cp /boot/initramfs-2.6.32-504.el6.x86_64.img /mnt/boot/initramfs.img 10)在/mnt下創建一個根掛載點,將根分區掛載 mkdir /mnt/root mount /dev/sdb3 /mnt/root 11)先刪除根下的lost+found目錄, 再創建根下的結構
rm -fr /mnt/root/lost+found cd /mnt/root/ mkdir bin boot dev etc home lib lib64 media mnt opt proc root sbin srv sys tmp usr var (12)將bash程序和ls程序拷貝到/mnt/boot/bin目錄下 cp /bin/bash /mnt/root/bin/ cp /bin/ls /mnt/root/bin/ 13)使用ldd命令查看bash程序和ls程序所依賴的C庫接口 ldd /bin/bash ldd /bin/ls 14)再將bash程序 和 ls程序所依賴的庫拷貝到/mnt/root/lib64/目錄下(從第二個庫文件開始拷貝)
cp /lib64/libtinfo.so.5 /mnt/root/lib64/ cp /lib64/libdl.so.2 /mnt/root/lib64/ cp /lib64/libc.so.6 /mnt/root/lib64/ cp /lib64/ld-linux-x86-64.so.2 /mnt/root/lib64/ cp /lib64/libselinux.so.1 /mnt/root/lib64/ cp /lib64/librt.so.1 /mnt/root/lib64/ cp /lib64/libcap.so.2 /mnt/root/lib64/ cp /lib64/libacl.so.1 /mnt/root/lib64/ cp /lib64/libc.so.6 /mnt/root/lib64/ cp /lib64/libdl.so.2 /mnt/root/lib64/ cp /lib64/ld-linux-x86-64.so.2 /mnt/root/lib64/ cp /lib64/libpthread.so.0 /mnt/root/lib64/ cp /lib64/libattr.so.1 /mnt/root/lib64/ 15)編輯/mnt/boot/grub/grub.conf文件, 添加如下內容 default=0 timeout=5 hiddenmenu title CentOS 6 yhy root (hd0,0) kernel /vmlinuz ro root=/dev/sda3 selinux=0 init=/bin/bash initrd /initramfs.img (16)先切換根試一試 chroot /mnt/root 17)如果在本機上做根切換沒有問題,那麽再創建一個新的虛擬機,這個新的虛擬機的硬盤使用剛剛創建的硬盤 18)如果在啟動後,可以使用ls命令顯示根下的目錄結構,說明grub安裝完畢,這就是一個沒有應用程序的內核

如何給一塊新硬盤安裝grub,讓它成為一個只有一個內核的系統