背景
虚拟机安装CentOS7无法达到目的后,就想着还是装个三系统吧,但是怕把电脑装出问题了,就先在笔记本上试试看。
(1)压缩出空的硬盘空间
先在Win10下进计算机右键管理,打开磁盘管理,然后把硬盘压缩出100多个G,不用分配盘符。
(2)用U盘启动盘装系统
然后插上事先做好的CentOS启动U盘,重启后按F12进入BIOS(不同电脑按的键可能不一样,有按delete键的),选择从U盘boot,进入装机界面,如下图所示,这里有些教程里不是直接安装,而是需要进行一些设置,可以参考从U盘安装CentOS7.3教程[https://blog.csdn.net/bbwangj/article/details/78684534],但我直接选择第一项进入安装也可以,一路按照教程,选择安装的硬盘位置,其实也就只有一个上面压缩了的100多个G的空间,还有几个小的盘,选择大的那个盘就行,然后就装完了。
(3)修复ubuntu启动加载
装完了之后重启发现启动项界面第一个是CentOS7,第二个是Ubunt16.04,第三个是Win10,进一下Win10发现正常,以为就装好没问题了。然后后面想进ubuntu的时候才发现,ubuntu那一项点进去后提示:
error:can't find command 'linux'.
error: can't find command 'initrd'.
Press any key to continue ......
3.1)方法一,启动时修改
上网查资料,发现了一个解决方法如下:
在开机启动界面选中ubuntu启动项,然后按’e’,进入编程模式,在倒数第二行开始的linu后添加efi,在倒数第一行开始的initrd后也添加efi,然后再按Ctrl+x,再次进入ubuntu即可解决问题。参考网页:error:can’t find command 'linux’解决办法[https://blog.csdn.net/visionlrj/article/details/70276944]
3.2)方法二,进centos系统修改
但是上述方法只能在当前启动时正常进入,下回重启后进入ubuntu还是会出现error:can’t find command 'linux提示,后来搜索找到了一个国外的网站[https://unix.stackexchange.com/questions/195583/error-cantt-find-command-linux-when-booting-system]
进入centos系统中,将 grub.cfg文件中的linux 替换为 linuxefi, initrd 替换为 initrdefi,具体方法如下:
1 - boot to your centos terminal #切换到centos系统
2 - install grub2-efi #安装grud2-efi
# yum install grub2-efi
4 - open the /boot/efi/EFI/centos/grub.cfg using a text editor.#打开grub.cfg文件
# vi /boot/efi/EFI/centos/grub.cfg
note: if grub.cfg did not exist try to /boot/grub2/grub.cfg… if was not exist too, try to generate that: # grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
5 - find all linux command and replace to linuxefi. So, find all initrd command and replace to initrdefi #替换为-efi
befor edit saples
linux /boot/vmlinuz-0-rescue-d1268bb1d6df49758a1ec5715984725c root=/dev/sda1
initrd /boot/initramfs-0-rescue-d1268bb1d6df49758a1ec5715984725c.img
after edit sample :
linuxefi /boot/vmlinuz-0-rescue-d1268bb1d6df49758a1ec5715984725c root=/dev/sda1
initrdefi /boot/initramfs-0-rescue-d1268bb1d6df49758a1ec5715984725c.img
6 - reboot #重启
(4)改变启动项顺序
网上有两种方法,一种参考[https://blog.csdn.net/carechere/article/details/53147260]:
(4.1)修改grub.conf
进入CentOS系统,打开终端输入
vi /etc/grub.conf`
在 grub.conf 文件中,修改启动项:
default = 2
【我们看有几个以“title”为首的项目,每一个这样的项目,就是我们安装的操作系统,如果我们想让哪个为默认启动操作系统,那么我们需要修改“default”的值,这个值按照数组方式来设置,设置的值为我们系统中实际操作系统数量-1,例如我们现在有两个操作系统,我们想设置第一个为默认操作系统,那么我们应该把这个值设置为0;如果想第二个为默认操作系统,那么应该设置这个值为1。】
修改等待时间:
timeout = 20
timeout就是每次引导操作系统时候,给我们选择的等待时间,这个时间是秒,我们可以修改成我们需要的时间。
以上修改结束后,保存此文件就可以了,下次启动就会安装我们设置来启动了。
(4.2)修改grub.cfg
进入CentOS系统后,输入如下命令:
$ vi /boot/grub2/grub.cfg
然后按"i"键进入insert模式,进行修改。代码中menuentry 元素标记的就是开机的默认启动项,将所需的启动系统的位置调整一下顺序即可,然后reboot就可以按照想要的顺序进行显示了。
这一项最好在图像界面的centos下进行。
后一篇记录一下CentOS安装图形界面时遇到的一些问题。
补记:在服务器上装了三个系统后,能够在CentOS7下点击其他硬盘,输入密码后挂载其他硬盘,笔记本上点击其他硬盘后弹出无法识别ntfs格式的硬盘,而且开机几次后,ubuntu16.04系统进入异常,可能是一开始双系统就装的有问题。所以装系统需要谨慎。。