在 HYPER-V 上运行 FreeBSD 的最佳做法

 

适用对象:Hyper-V Server 2012, Windows 8.1, Windows Server 2012 R2, Microsoft Hyper-V Server Technical Preview, Windows Server 2012, Hyper-V Server 2012 R2, Windows 10 Technical Preview, Windows Server Technical Preview, Windows 8

本主题包含用于在 HYPER-V 上运行 FreeBSD 虚拟机建议的列表。

添加用于在 fstab 中列出的所有设备的 Uuid

安装 HYPER-V 存储集成服务时,可能会更改某些设备的名称,而且其 fstab 中的对应项将不再有效。 若要避免出现 fstab 的问题可以用 Uuid 替换设备名称。

重要

在进行任何更改之前请您 fstab 的备份副本。

  1. 检查 fstab 内容并记下的设备名称。 在此示例中,根设备名称是 ada0p2 和交换设备名称是 ada0p3。

    # cat /etc/fstab
    # Device        Mountpoint      FStype  Options Dump    Pass#
    /dev/ada0p2     /               ufs     rw      1       1
    /dev/ada0p3     none            swap    sw      0       0
    
  2. 标识用于 freebsd ufs 和 freebsd 交换使用 Uuid gpart 列表 命令。

    # gpart list | grep -A 11 'ada0p2\|ada0p3' | grep 'rawuuid\|type\|Name'
    
       Name: ada0p2
       rawuuid: d1241bc9-1b9e-11e3-8dae-00155ddc3f35
       rawtype: 516e7cb6-6ecf-11d6-8ff8-00022d09712b
       type: freebsd-ufs
       Name: ada0p3
       rawuuid: d126e943-1b9e-11e3-8dae-00155ddc3f35
       rawtype: 516e7cb5-6ecf-11d6-8ff8-00022d09712b
       type: freebsd-swap
    

    Ada0p2 的 UUID (rawuuid) d1241bc9-1b9e-11e3-8dae-00155ddc3f35 且 ada0p3 的 UUID d126e943-1b9e-11e3-8dae-00155ddc3f35。

  3. 将替换为 Uuid fstab 设备名称。

    # vi /etc/fstab
    # Device  Mountpoint          FStype  Options Dump    Pass#
    /dev/gptid/d1241bc9-1b9e-11e3-8dae-00155ddc3f35 /               ufs     rw      1       1
    /dev/gptid/d126e943-1b9e-11e3-8dae-00155ddc3f35 none            swap    sw      0       0
    

    重启系统以确保 Uuid 是都正常工作。 如果需要撤消的任何更改,您可以通过不同的 FreeBSD 系统下安装分区还原您 fstab。

禁用快速 IDE 驱动程序

与 HYPER-V IDE 驱动程序,这会导致 CDROM 被禁用的快速 IDE 驱动程序冲突。 若要启用 CD-ROM 禁用快速 IDE 驱动程序。

  1. 启动虚拟机。

  2. 在 FreeBSD 引导菜单中,选择 6。 在加载程序提示符下进行转义。

  3. 在启动加载程序提示符中,输入以下命令:

    set hw.ata.disk_enable=1
    boot
    

    备注

    步骤 3 禁用快速 IDE 驱动程序,并取得控制权的 IDE ATA 驱动程序。 如果没有快速 IDE 支持应立即启动虚拟机。

在 FreeBSD 上创建几何标签 8.x

在启动期间,设备节点被创建新的设备的发现。 这可能意味着添加新设备时,可以更改设备名称。 如果在启动过程中获得根装入错误,应创建的每个 IDE 分区以避免冲突和更改永久几何标签。

  1. 为单用户模式重新启动系统。 这可以通过选择启动菜单选项 4,来实现或性能-s 从引导启动提示。 或者,您可以通过指定"引导-s"启动特定的内核。 请注意最后一个命令的顺序。

  2. 在单用户模式下,为每个您 fstab (包括根和交换) 中列出的 IDE 磁盘分区中创建几何标签。 例如:

    # cat /etc/fstab
    # Device                Mountpoint      FStype  Options         Dump    Pass#
    /dev/ad0s1b             none            swap    sw              0       0
    /dev/ad0s1a             /               ufs     rw              1       1
    /dev/acd0               /cdrom          cd9660  ro,noauto       0       0
    # glabel label rootfs /dev/ad0s1a
    # glabel label swap /dev/ad0s1b
    # glabel status
    Name  Status  Components
    rootfs N/A    ad0s1a
    swap   N/A    ad0s1b
    

    处找不到几何标签上的其他信息: 19.7。标记磁盘设备

  3. 重新启动到多用户模式 (默认值)。 编辑您 /etc/fstab 使其包含标签。 例如:

    # Device           Mountpoint  FStype   Options     Dump  Pass#
    /dev/label/swap    none        swap     sw          0     0
    /dev/label/rootfs  /           ufs      rw          1     1
    /dev/acd0          /cdrom      cd9660   ro,noauto   0     0
    

另请参见

FreeBSD HYPER-V 上的虚拟机