zoukankan      html  css  js  c++  java
  • 如何给一块新硬盘安装grub,让它成为一个只有一个内核的系统

    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安装完毕,这就是一个没有应用程序的内核
  • 相关阅读:
    关于在Linux下的换行符 和windows下的换行符
    Linux文件操作标准接口
    tcpdump抓包和wireshark解包
    Makefile学习(1)
    域名服务器设置
    Linux系统移植(1)
    SQL基本语句整理
    ARM---搭建开发板的开发环境(x210v3s)
    C语言基础
    Oracle中的USEREVN()
  • 原文地址:https://www.cnblogs.com/liu1026/p/7498079.html
Copyright © 2011-2022 走看看