问题:
平台:Oralce VM Virtualbox的虚拟机Opensuse11.4
导出该机器的OVA文件后,把该OVA文件导入虚拟机,开机启动时报如下错误:
Trying manual resume from /dev/disk/by-id/ata-TOSHIBA-MK1246GSX-28FGTI70T-part1
resume device dev/disk/by-id/ata-TOSHIBA-MK1246GSX-28FGTI70T-part1 not found (ignoring)
Trying manual resume from /dev/disk/by-id/ata-TOSHIBA-MK1246GSX-28FGTI70T-part1
resume device dev/disk/by-id/ata-TOSHIBA-MK1246GSX-28FGTI70T-part1 not found (ignoring)
Waiting for device dev/disk/by-id/ata-TOSHIBA-MK1246GSX-28FGTI70T-part2 to appear : ........................ Could not find dev/disk/by-id/ata-TOSHIBA-MK1246GSX-28FGTI70T-part2 .
Want me to fall back to dev/disk/by-id/ata-TOSHIBA-MK1246GSX-28FGTI70T-part2 ? (Y/N)
y
Waiting for device dev/disk/by-id/ata-TOSHIBA-MK1246GSX-28FGTI70T-part2 to appear : ...............not found -- exiting to /bin/sh
分析:
原因是Opensuse的一个新的默认设置,从10Sp1版本开始,存储设备(硬盘)由原来的名称相关变为ID相关。
说明:
以前的硬盘描述为sda、sdb等,硬盘的分区描述为sda1、sda2、sda3等;
而如今硬盘与分区的新描述,例如:
/dev/disk/by-id/ata-TOSHIBA-MK1246GSX-28FGTI70T
/dev/disk/by-id/ata-ST380013AS_4MR2NSD8
其分区描述,例如:
/dev/disk/by-id/ata-TOSHIBA-MK1246GSX-28FTTI70T-part1
/dev/disk/by-id/ata-TOSHIBA-MK1246GSX-28FTTI70T-part2
问题在于,在虚拟机Opensuse机器上硬盘是用ID来描述在配置文件做相关记录的,而目标机器(即存放OVA文件的物理机)硬盘是不一样的,会有不一样的ID记录名称,所以导入后的机器才无法找到硬盘而不能启动成功。
解决:
只需在原来的Opensuse机器上修改两个配置文件即可。这两个文件是
/etc/fstab
/boot/grub/menu.lst
在这两个文件中,我们需要找出每一个类似下面例子的名称,例子如下:
/dev/disk/by-id/ata-TOSHIBA-MK1246GSX-28FGTI70T-part1
然后把它们改成
/dev/sda1
注意分区名称对应如下:
-part1  ->  sda1
-part2  ->  sda2

步骤如下:
确保有权限修改文件,打开文件,修改完毕后,按ESC退出输入模式,然后输入:wq保存修改。

sudo vi /etc/fstab
sudo vi /boot/grub/menu.lst

重启电脑确认一切照常,然后就可以导出OVA文件了。

举例:

以下是这两个文件修改前后的内容变化:

sudo vi /etc/fstab

BEFORE
/dev/disk/by-id/ata-ST380013AS_4MR2NSD8-part1 swap swap defaults
/dev/disk/by-id/ata-ST380013AS_4MR2NSD8-part2 / ext4 acl,user_xattr
/dev/disk/by-id/ata-ST380013AS_4MR2NSD8-part3 /home ext4 acl,user_xattr
proc /proc proc defaults
sysfs /sys sysfs noauto
debugfs /sys/kernel/debug debugfs noauto
usbfs /proc/bus/usb usbfs noauto
devpts /dev/pts devpts mode=,gid= AFTER
/dev/sda1 swap swap defaults
/dev/sda2 / ext4 acl,user_xattr
/dev/sda3 /home ext4 acl,user_xattr
proc /proc proc defaults
sysfs /sys sysfs noauto
debugfs /sys/kernel/debug debugfs noauto
usbfs /proc/bus/usb usbfs noauto
devpts /dev/pts devpts mode=,gid=
sudo vi /boot/grub/menu.lst

BEFORE
# Modified by YaST2. Last modification on Fri Nov :: CET
# THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader
# For the new kernel it try to figure out old parameters. In case we are not able to recognize it (e.g. change of flavor or strange install order ) it it use as fallback installation parameters from /etc/sysconfig/bootloader default
timeout
##YaST - generic_mbr
gfxmenu (hd0,)/boot/message
##YaST - activate ###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 12.1 - 3.1.-1.2
root (hd0,)
kernel /boot/vmlinuz-3.1.-1.2-default root=/dev/disk/by-id/ata-ST380013AS_4MR2NSD8-part2 resume=/dev/disk/by-id/ata-ST380013AS_4MR2NSD8-part1 splash=silent quiet showopts vga=0x31a
initrd /boot/initrd-3.1.-1.2-default ###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 12.1 - 3.1.-1.2
root (hd0,)
kernel /boot/vmlinuz-3.1.-1.2-default root=/dev/disk/by-id/ata-ST380013AS_4MR2NSD8-part2 showopts apm=off noresume nosmp maxcpus= edd=off powersaved=off nohz=off highres=off processor.max_cstate= nomodeset x11failsafe vga=0x31a
initrd /boot/initrd-3.1.-1.2-default AFTER
# Modified by YaST2. Last modification on Fri Nov :: CET
# THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader
# For the new kernel it try to figure out old parameters. In case we are not able to recognize it (e.g. change of flavor or strange install order ) it it use as fallback installation parameters from /etc/sysconfig/bootloader default
timeout
##YaST - generic_mbr
gfxmenu (hd0,)/boot/message
##YaST - activate ###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 12.1 - 3.1.-1.2
root (hd0,)
kernel /boot/vmlinuz-3.1.-1.2-default root=/dev/sda2 resume=/dev/sda1 splash=silent quiet showopts vga=0x31a
initrd /boot/initrd-3.1.-1.2-default ###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 12.1 - 3.1.-1.2
root (hd0,)
kernel /boot/vmlinuz-3.1.-1.2-default root=/dev/sda2 showopts apm=off noresume nosmp maxcpus= edd=off powersaved=off nohz=off highres=off processor.max_cstate= nomodeset x11failsafe vga=0x31a
initrd /boot/initrd-3.1.-1.2-default

Waiting for device dev/disk/by-id/ata-...-part2 to appear的更多相关文章

  1. CloneZilla 恢复系统报错Waiting for device dev/disk/by-id/.....

    利用CloneZilla备份好系统,在恢复系统时候显示恢复成功,但在重启系统时出现如下错误: 出现问题的原因: 原因在于suse系统的一个新的默认设置,这个新的默认设置为存储设备由原来的名称相关改为I ...

  2. linux kernel 卡在提示信息Waiting for root device /dev/mmcblk0p1...处

    一.背景 1.1 移植linux-4.14内核的过程中,此时使用的是ext4文件系统,并且将根文件系统存储在sd卡的第一个分区上 1.2 内核打印完Waiting for root device /d ...

  3. grub2挂在iso镜像“ /dev/disk/by-label/XXXX error: boot device didn't show up after 30 seconds”问题

    两种解决办法: 方法A: mkdir /cdrom mount -t vfat /dev/sda1 /cdrom modprobe loop losetup /dev/loop6 /cdrom/boo ...

  4. openstack 存储节点按照报错Device /dev/sdb not found (or ignored by filtering).

    root@dell-PowerEdge-T30:~# pvcreate /dev/sdb  Device /dev/sdb not found (or ignored by filtering).首页 ...

  5. SYMBDSNAP_SDK[3943]: Failed to open device: /dev/symbdsnapctl, errno: 2

    在Linux的日志/var/log/message里面看到下面错误信息: Oct 26 09:48:42 xxxxxxx SYMBDSNAP_SDK[3943]: Failed to open dev ...

  6. 安装apk文件报waiting for device 时解决办法

    C:\Users\root>adb install d:\rry_0514.apkerror: more than one device and emulator- waiting for de ...

  7. RMAN备份失败之:mount: block device /dev/emcpowerc1 is write-protected, mounting read-only

    今天再做巡检的时候发现有一台服务器的RMAN备份不正常,有一段时间没能正常备份了.检查了一下脚本,正常,定时任务列表也正常,再检查一下/var/log/cron的内容,也没有问题.尝试在该挂载点上创建 ...

  8. Unable to open log device '/dev/log/main': No such file or directory

    在我们使用真机进行Android应用调试时,无法获得调试信息,错误提示如下:Unable to open log device '/dev/log/main': No such file or dir ...

  9. OpenStack报错:MessagingTimeout: Timed out waiting for a reply to message ID

    L3.agent中出现大量消息超时错误,对网络的操作各种异常. 报错如下: -- :: ERROR neutron.agent.l3.agent [req-db9207e6--4f23-8c19-0d ...

随机推荐

  1. CSU 1963 Feed the rabbit(斜率优化dp)

    http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1963 题意:有m个坑,每只兔子会在ti时刻回到坑中,现在有n个人,每个人都可以从任意时间(&l ...

  2. shell 使用ping测试网络

    能ping通返回1,不能返回0 ping -c 192.168.1.1 | grep '0 received' | wc -l

  3. VNC Viewer连接Cent OS 时的 复制粘帖 功能

    虽然 VNC Viewer 比起 vsphere Client 来, 感觉性能差一点. 但毕竟也是个选择. 找了一下 它的这个 功能. 运行一下 vncconfig & 就可以了. 实测好用. ...

  4. C# Word转PDF/HTML/XML/XPS/SVG/EMF/EPUB/TIFF

    一款有着强大的文档转换功能的工具,无论何时何地都会是现代办公环境极为需要的.在本篇文章中,将介绍关于Word文档的转换功能(Word转XPS/SVG/EMF/EPUB/TIFF).希望方法中的代码能为 ...

  5. Linux CentOS 6.5 使用自带jdk修改环境变量

    首先声明,默认jdk指我们安装完CentOS后系统自带jdk,自己下载安装的jdk只需要下载,解压即可,之后步骤与此文一致 1.查看我们默认jdk的位置 指令: which java 我们去看一下发现 ...

  6. BZOJ2620 [Usaco2012 Mar]Haybale Restacking

    恩,非常好的题...至少思路非常巧妙 首先可以得到性质:对于相邻的两堆A & B,A给B然后B再给A是完全没有意义的...也就是说只能单向传递 然后我们记下每个点要给(被给)多少堆干草a[i] ...

  7. C++设计模式之中介者模式

    中介者模式:用一个中介对象来封装一系列的对象交互.中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互.中介者模式的例子很多,大到联合国安理会,小到房屋中介,都扮演了 ...

  8. JDK5的新特性:泛型、可变参数、静态导入

    数组可以在创建的时候就指定存放的数据类型,这样放入不同类型的时候就会发生编译错误. 而集合却可以存储多种不同类型,这样的话如果是遍历的时候在集合中装了好多不同的数据类型的时候,十分容易发生类型转换错误 ...

  9. Linux:root下的文件-anaconda-ks.cfg详解

    anaconda-ks.cfg详解 系统安装的时候生成的一个文件,通过这个文件可以修改成自动安装的脚本,用于自动安装同样配置的系统. 自动生成的启动文件anaconda# Kickstart file ...

  10. Swift UIImageView和UISlider组合

    /***************火焰图片Demo************start*******/ var imgView: UIImageView? override func viewDidLoa ...