VirtualBox安装Arch Linux2019并迁移物理机

安装Arch Linux

下载版本

Arch Linux官网下载找到国内China的163.com镜像,下载了archlinux-2019.05.02-x86_64.iso ,文件很小,只有609M。
由于我安装了Cygwin64 Terminal,顺便md5sum archlinux-2019.05.02-x86_64.iso校验了一下,和官网的md5sums.txt相同,说明网络传输无误。

使用VirtualBox安装

挂载iso文件,顺利进入安装界面,只看到英文指导
采用fdisk /dev/sda创建了2个主分区,分别为6G和2G。
勉强安装完成后,重启提示找不到系统盘。

安装grub

后来发现arch的WIKI文档做得很好,包含了多种语言,后面还是看中文的指导
再次用iso引导,安装grub引导

# mount /dev/sda1 /mnt   #挂载分区
# arch-chroot /mnt  #切换root分区
# pacman -S grub  #安装gurb软件
# grub-install  /dev/sda  # 由于采用BIOS启动,可以省略--target=i386-pc;注意:因为要安装MBR引导,所以是sda不是sda1
# grub-mkconfig -o /boot/grub/grub.cfg  #生成配置文件
# exit  #退出chroot
# shutdown now 关闭系统

在VirtualBox设置为从硬盘启动,重启,引导正常。

设置网络和ssh

# dhcpcd  #设置dpcp自动分配IP地址。
# ip ad   #检查是否获取到IP地址
# ping baidu.com  #检查网络是否正常
# pacman -S openssh  #安装openssh软件
# vi /etc/ssh/sshd_config  #修改配置,去掉注释#号,支持密码登录,且允许root登录
#PermitRootLogin prohibit-password
PermitRootLogin  yes
# systemctl start sshd  #启动sshd服务
# systemctl status   #查看当前启动的所有服务

[root@xyarch ssh]# systemctl status
● xyarch
    State: running
     Jobs: 0 queued
   Failed: 0 units
    Since: Fri 2019-05-10 20:13:53 CST; 5min ago
   CGroup: /
           ├─user.slice
           │ └─user-0.slice
           │   ├─session-3.scope
           │   │ ├─395 sshd: root@pts/0
           │   │ ├─399 -bash
           │   │ ├─405 systemctl status
           │   │ └─406 less
           │   ├─session-1.scope
           │   │ ├─263 login -- root
           │   │ ├─313 -bash
           │   │ └─336 dhcpcd
           │   └─user@0.service
           │     └─init.scope
           │       ├─307 /usr/lib/systemd/systemd --user
           │       └─308 (sd-pam)
           ├─init.scope
           │ └─1 /sbin/init
           └─system.slice
             ├─systemd-udevd.service
             │ └─237 /usr/lib/systemd/systemd-udevd
             ├─systemd-journald.service
             │ └─224 /usr/lib/systemd/systemd-journald
             ├─sshd.service
             │ └─392 /usr/bin/sshd -D
             ├─lvm2-lvmetad.service
             │ └─233 /usr/bin/lvmetad -f
             ├─dbus.service
             │ └─262 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
             └─systemd-logind.service
               └─260 /usr/lib/systemd/systemd-logind

这里没有安装网络管理,每次重启后需要运行

# dhcpcd
# systemctl start sshd

迁移到物理机

有1台D525 CPU,1G内存的小电脑,想试试能否安装桌面来玩,但不想重新安装了。

1. 正常识别U盘

在virtualbox设置usb设备,选择插入的u盘

  • 问题1:不能为虚拟电脑打开一个新任务
    The device helper structure version has changed.
    If you have upgraded VirtualBox recently, please make sure you have terminated all VMs and upgraded any extension packs. If this error persists, try re-installing VirtualBox. (VERR_PDM_DEVHLPR3_VERSION_MISMATCH).

    由于安装的扩展是6.0.6的包
    Oracle_VM_VirtualBox_Extension_Pack-6.0.6.vbox-extpack
    而软件是 VirtualBox 6.0.0-r127566
    下载配套的扩展包
    http://download.virtualbox.org/virtualbox/6.0.0/Oracle_VM_VirtualBox_Extension_Pack-6.0.0.vbox-extpack
    提示降级安装后解决

  • 问题2:不能分配usb设备到虚拟电脑
    Fail to create a proxy device for the USB device. (Error: VERR_PDM_NO_USB_PORTS)
    修改为USB3.0解决,设备-USB下可以勾选U盘

2. 拷贝U盘

光盘启动后,拷贝虚拟硬盘到物理U盘。
fdisk -l查看
dd if=/dev/sda of=/dev/sdb bs=8M

3. 启动物理机

采用U盘启动物理机,出现Grub启动菜单

Arch Linux
Advanced options for Arch Linux   #后者出现子菜单
  Arch Linux, with Linux linux
  Arch Linux, with Linux linux (fallback initramfs)
  • 物理机Arch Linux启动报错
    Starting version 242.19-1-arch
    ERROR: device ‘UUID=8f0fb86b-0536-4a3a-9a15-1bba5a1cd03d’ not found. Skipping fsck.
    mount: /new_root: can’t find UUID=8f0fb86b-0536-4a3a-9a15-1bba5a1cd03d.
    You are now being dropped into an emergency shell.
    sh: can’t access tty: job control turned off
    [rootfs ]#
    此时fdisk、lsblk命令失败,blkid运行只能看到物理机的sda,看不到u盘的sdb。
    在虚拟机下,lsblk -f可以看到uuid是正确的。
    在虚拟机下,设置-存储-控制器:SATA下,新增空硬盘,并把原硬盘D:\xyin\VirtualBoxVHD\arch Linux\arch Linux.vmdk调整到端口2,开机按F12选择Disk 2可以正常启动,不支持U盘启动。

  • 物理机Arch Linux(fallback initramfs)启动正常
    当选择fallback initramfs时可以正常启动,这说明初始化内存盘出现了问题。
    参考mkinitcpio.conf的介绍
    并检查/boot下的文件,其中initramfs-linux-fallback.img有29M,而initramfs-linux.img只有9M。
    查看/etc/mkinitcpio.d/linux.preset和/etc/mkinitcpio.conf文件(采用DiskGenius软件浏览文件-复制到桌面)
    wiki明确指出 > 如果使用reiser4,该模块必须放入MODULES数组。实际配置 > MODULES=(),但同样的配置的虚拟机可以正常启动。

4.更新虚拟内存盘

在VirtualBox删除2块硬盘,保留U盘,从光盘启动

# mount /dev/sdc1 /mnt
# chroot /mnt
# vi /etc/mkinitcpio.conf
MODULES=(reiserfs)
# mkinitcpio -p linux
# exit
# umount
# shutdown now

在D 525的物理机启动失败。
迁移的U盘,在另外一台普通PC机正常启动,进入系统后可以fdisk创建分区,格式化,写入文件测试正常。

其他尝试:
安装iso文件写入U盘,在D 525的物理机仍然无法安装,可能是arch的驱动包不支持该主板,或者需要手工修改驱动支持。

$ sudo dd if=archlinux-2019.05.02-x86_64.iso of=/dev/sdb bs=8M
记录了76+1 的读入
记录了76+1 的写出
638582784 bytes (639 MB, 609 MiB) copied, 11.5171 s, 55.4 MB/s
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值