环境

需求

  • 手头有台笔记本 IBM thinkpad X31,处理器不支持 pae,不支持 64 位操作系统,要安装一个32位 CentOS6,且内核无 pae 要求。

准备环境

  • 在支持 pae 的计算机上安装 VirtualBox 及其扩展包,以支持 VirtualBox 虚拟机中挂载宿主机 USB 存储。
  • 取出 Thinkpad 笔记本的硬盘,通过移动硬盘盒等方法连接刚刚安装 VirtualBox 的计算机,确保该存储正常识别可用。
  • 下载CentOS-6.9-i386-minimal.iso

VirtualBox 下安装 CentOS6.9 虚拟机

  • 创建 CentOS6.9 x32 虚拟机,这里无需创建虚拟磁盘,后面会把 Thinkpad 笔记本的硬盘挂载到虚拟机中,直接把操作系统安装到该硬盘中。 不用创建虚拟磁盘
  • 设置虚拟机,启动 USB 3.0 控制器,增加筛选器,选中刚刚 USB 连接的 Thinkpad 硬盘;网络模式自选,确保虚拟机可上网。 启用USB 3.0 控制器
  • 使用刚刚下载好的 CentOS-6.9-i386-minimal.iso 启动 CentOS6.9 虚拟机,如下图 启动虚拟机
  • 此时查看菜单栏"设备",会发现 Thinkpad 硬盘已挂载,如下图 输入图片说明
  • 选择 “Install or upgrade an existing system” 安装系统,选择安装设备,会看到唯一一个磁盘,如下图 磁盘选择
  • 该设备就是通过 USB 挂载的 Thinkpad 磁盘,划分好分区,完成系统安装。

CentOS6.9 虚拟机 Rescue 启动挂载

  • 由于 VirtuaBox 虚拟机尚不支持从 USB 启动,所以在上一步完成系统安装后,重启虚拟机,依旧使用 CentOS-6.9-i386-minimal.iso 启动。
  • 此时从 “Rescue Installed system” 启动,如下图 rescue
  • 根据提示选择好语言、键盘,激活网卡,如下图 激活网络
  • “OK” 确认,选择网卡,如下图 选择网卡
  • “OK”,根据自己的网络环境配置上网方式,如下图 配置网卡地址
  • “OK”,进入 Rescue 界面,如下图 Rescue
  • “Continue”,选择好磁盘,“OK” 确认,提示根分区已挂载至 /mnt/sysimage 下,如下图 根目录挂载地址
  • “OK”, 进入 Rescue Shell,此时执行
    1
    
    chroot /mnt/sysimage/ /bin/bash
    
  • 至此,通过 VirtualBox 虚拟机成功启动 USB 存储(Thinkpad 硬盘)中的根分区并进入其 Bash 环境。

安装 NONPAE 内核

  • 在刚刚启动的 Bash Shell 中,检查网络
    1
    
    ping www.baidu.com
    
  • 关闭 selinux (可选)
    1
    
    sed -i 's/^SELINUX=/cSELINUX=disabled' /etc/selinux/config
    
  • 安装 NONPAE 内核
    1
    2
    3
    
    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    rpm -Uvh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
    yum --enablerepo=elrepo-kernel install kernel-lt-NONPAE
    
  • 检查系统已安装的内核
    1
    
    rpm -qa|grep kernel
    
  • 发现两个内核,一个是官方的 kernel-2.6,另一个是刚刚安装的 kernel-3.10,kernel-3.10 就是可以在无 pae 处理器上启动的 NONPAE 内核。
  • 退出当前 Chroot Shell 和 Rescure Shell
    1
    2
    
    exit
    exit
    

启动 Thinkpad X31

  • 关闭虚拟机,退出 USB 磁盘,把磁盘装回 Thinkpad X31 笔记本中,开机,选择 3.10 内核即可正常启动。
  • 卸载官方 2.6 内核(推荐)
    1
    2
    
    yum erase kernel-2.6.32*
    yum erase kernel-firemware-2.6.32*