首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CentOS 7 VMWare到超级V迁移-磁盘不可见

CentOS 7 VMWare到超级V迁移-磁盘不可见
EN

Server Fault用户
提问于 2019-08-01 13:59:10
回答 2查看 3.5K关注 0票数 1

我有一个从VMWare迁移过来的VM,我已经通过引导到Live、挂载和检查文件系统来确认磁盘是预期的。

系统也在一定程度上启动,但是过了一段时间,它放弃了尝试,转到了一个“dracut”终端,我已经阅读了/run/initramfs/rdsosreport.txt中的日志,并看到了以下内容:

代码语言:javascript
复制
Hyper-V Virtual Machine detected, ATA device ignore set

在终端中,我还看到一个错误,即/dev/disk/by-uuid/{uuid here}不可用。在Ubuntu时,我确实检查了错误、/etc/fstab和所有与blkid输出相匹配的UUID。

我还完成了CentOS的干净安装,这是正常引导的,所以几乎可以肯定的是迁移的安装。

对不起,如果这没有给出足够的继续,如果有人需要任何具体的信息,我会尽我最大的努力用它更新这个问题。

如果有帮助,我正在运行Windows 10,版本1903,构建10.0.18941.1001 (这是Hyper报告的版本)。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2019-08-08 00:34:40

我相信您将需要重建initramfs文件/boot/initramfs-(kernel version).img,因为虚拟硬件的更改。CentOS内核用于虚拟磁盘访问的模块可能有所不同。请遵照下列指示:

  • 将CentOS 7安装ISO附加到虚拟机
  • 引导进入Anaconda救援模式(使用说明) (替代指令)
  • 确保虚拟磁盘中的文件系统正确地安装在/mnt/sysimage
  • 使用dracut重建initramfs:# chroot /mnt/sysimage dracut --no-hostonly --force --regenerate-all --verbose
  • 编写SELinux重命名程序:# touch /mnt/sysimage/.autorelabel
  • 退出Anaconda救援模式

Initramfs是一个文件系统映像,引导加载程序在加载内核之后并在将执行上下文切换到它之前将其提取到内存中。这样的映像应该包含内核查找包含根文件系统的块设备所需的所有模块。我不知道Hyper虚拟机需要哪些模块;如果您能够自己找到它们,可以告诉dracut使用--add-drivers参数将它们添加到重建的initramfs中。

票数 4
EN

Server Fault用户

发布于 2023-04-25 16:32:45

此问题是由ata_piix中的默认设置引起的。

如果检测到HyperV硬盘,则驱动程序假定IDE是不必要的,并禁用端口。若要重写此操作,可以设置内核参数:ata_piix.prefer_ms_hyperv=0

来源:https://github.com/torvalds/linux/blob/master/drivers/ata/ata_piix.c#L1572

在此之后,操作系统应该启动,您可以重新构建您的linux映像,以包括HyperV驱动程序。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/977586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档