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安装完毕,这就是一个没有应用程序的内核
  • 相关阅读:
    专有宿主机如何实现“资源池”管理——集群管理能力升级
    像Google一样构建机器学习系统3
    利用阿里云容器服务打通TensorFlow持续训练链路
    阿里云积极落实等级保护制度,政务云全国首个通过等保2.0合规评测
    Facebook F8|闲鱼高级技术专家参会分享
    UI2CODE智能生成代码——组件识别篇
    基于TableStore的海量气象格点数据解决方案实战
    药品监管系统架构揭秘:海量溯源数据存储与查询
    对比MySQL,一文看透HBase的能力及使用场景
    bzoj1003 [ZJOI2006]物流运输
  • 原文地址:https://www.cnblogs.com/liu1026/p/7498079.html
Copyright © 2011-2022 走看看