美文网首页
VirtualBox导入虚拟机后无法进入系统问题解决

VirtualBox导入虚拟机后无法进入系统问题解决

作者: ranerr_ | 来源:发表于2022-05-17 13:37 被阅读0次

    本文写于2022年05月17日,阅读时请注意时效。

    问题复现

    问题出现在将一台AMD电脑上的Arch Linux虚拟机导出为.ova格式后迁移到一台Intel电脑时无法通过bootloader(grub)进入系统而是出现EFI Shell界面。后续查明为grub的问题,所以该方案对于其他发行版、CPU、VirtualBox版本大概也适用。

    问题截图如下:

    efi-shell

    问题解决

    无需重装grub,只要在问题系统中重新设置一遍grub即可。步骤如下

    1. 使用系统镜像启动,将各硬盘分区mount

    2. 使用arch-chroot进入问题系统(其他发行版使用自己特定的命令即可,大多是chroot

    3. 执行如下命令重新配置grub:

      grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
      grub-mkconfig -o /boot/grub/grub.cfg
      
    4. umount之后重启即可

    解决过程的命令行如下:

    root@archiso ~ # mount /dev/sda2 /mnt
    root@archiso ~ # mount /dev/sda1 /mnt/boot
    root@archiso ~ # arch-chroot /mnt
    [root@archiso /]# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
    Installing for x86_64-efi platform.
    Installation finished. No error reported.
    [root@archiso /]# grub-mkconfig -o /boot/grub/grub.cfg
    Generating grub configuration file ...
    Found linux image: /boot/vmlinuz-linux
    Found initrd image: /boot/amd-ucode.img /boot/initramfs-linux.img
    Found fallback initrd image(s) in /boot:  amd-ucode.img initramfs-linux-fallback.img
    Warning: os-prober will not be executed to detect other bootable partitions.
    Systems on them will not be added to the GRUB boot configuration.
    Check GRUB_DISABLE_OS_PROBER documentation entry.
    Adding boot menu entry for UEFI Firmware Settings ...
    done
    [root@archiso /]# exit
    exit
    root@archiso ~ # umount -R /mnt
    root@archiso ~ # reboot now
    

    可以看到我系统里安装了amd-ucode,是不影响的。我还尝试了安装intel-ucode,问题并没有得到解决。

    在虚拟机中是无法使用*-ucode的,可以参考Microcode - ArchWiki

    相关文章

      网友评论

          本文标题:VirtualBox导入虚拟机后无法进入系统问题解决

          本文链接:https://www.haomeiwen.com/subject/kocnurtx.html