Ubuntu 14.04 LTS Server 无法挂载光盘 启动initramfs等问题今天需要在戴尔R410服务器上装64位的linux,师兄给了个14.04的server 64位镜像。一开始打算用U盘安装,用软碟通烧写镜像之后,在服务器端设置从U盘启动,但是安装到一半出现了光盘无法挂载的现象,如图所示:
百度,Google了一下,确实也有不少人碰到了这个问题,并且几乎都是在安装server版本时碰到的,Desktop版本的用U盘安装没有这个问题。总结了一下解决方法:
换一个烧录工具,或者用光盘刻录安装没有这个问题,烧写U盘的工具有Win32 Disk Imager,但需要把ISO镜像后缀改成img,这个方法我试了但是没有成功。后来有百度到另一个工具ImageWriter,将ISO后缀改成raw,烧录我用这个方法U盘安装没有出现问题,成功安装。还有一个方法,当U盘出现这个问题时,手动挂载镜像,但前提是这个U盘已经被(不合格的烧录工具如ulraISO等工具烧录的),再往U盘中拷贝整个文件的镜像,通过在终端中用mount命令手动挂载。具体方法如下:首先进入shell 用ls命令查看已经挂在的设备如/dev/sda /dev/sda1 /dev/sda3 /dev/sda5 /dev/sdb /dev/sdb1接着拔掉U盘再ls /dev/sd* 即可查看到/dev/sda /dev/sda1 /dev/sda3 /dev/sda5可以看出u盘就是dev/sdb,那么u盘上的分区就是dev/sdb1因而我们可以有mkdir udev在跟目录下建立一个空目录再把u盘挂载到这个目录下面 mount /dev/sdb1 /udev接着把里面的镜像在挂载进来mount /udev/ubuntu.iso /cdrom最后退出即可正常安装。安装结束之后今天又很诡异的碰到了另一个问题在重启时进入到了busybox 一直显示initramfs如下图下图可以看到报错:Gave up waiting for root device. Common PRoblems;-Boot args (cat /proc/cmdline)-Check rootdelay = (did the system wait long enough?)-Check root = (did the system wait for the right device?)-Missing modules (cat /proc/modules; is /dev)ALERT! /dev/disk/by-uuid/Bd12fd38-…………..does not exist. Dropping to a shell!这个问题,经过我一番查找各种资料,是系统在启动时rootdelay时间不够,导致部分设备没有被系统加载进来,需要再引导程序grub中修改等待时间。而且值得注意的是碰到这种情况输入exit即会出现正常的linux登录界面但是重新启动每次都会陷入initramfs但是看了一通别人都说是在sudo vi /boot/grub/menu.lis 文件中修改可能是版本的问题,我在/etc/default/grub中直接修改,因此在其中将文件中的两个变量GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash rootdelay=120”GRUB_CMDLINE_LINUX = “quiet splash rootdelay=120”修改完之后一定要记住!!!sudo update-grub这一步非常重要,是要将配置跟新到缓存中,因为运行中是将这一个配置文件更新到一个可执行文件,类似于linux中编译时产生的脚本文件,makefile是由automake等工具的配置文件导出的一样,直接在使用那个可执行文件运行的,所以此处务必将配置重新update到可执行文件中去。OK,之后reboot系统即可看到正常的登录界面
奇怪的是,我先后用U盘和光盘重装都出现了这个问题,修改了grub.cfg这个配置文件之后每次启动就OK了,可能是系统硬件和软件配置之间的问题,原来默认的rootdelay时间不够。后记:现在的这个markdown编辑器非常好用,希望能实时看到预览界面这里给出ImageWriter.exe烧写工具的下载地址。http://cloud.github.com/downloads/openSUSE/kiwi/ImageWriter.exe