如何在不承诺的情况下尝试新操作系统版本?

如何在不承诺的情况下尝试新操作系统版本?

我希望在新操作系统发布时试用它们,例如 Ubuntu 17.04 或 Ubuntu 17.10,以了解新功能。我还喜欢查看 Kubuntu、CentOS 或其他发行版(Windows 11 发布时?) - 或者设置测试环境,尽管我知道我可能会丢弃它们,但我不想对我的核心机器这样做。

有哪些替代方案可以做到这一点而不会危及我的主要开发机器?我并不是想就最佳方法展开辩论,而是想了解有哪些替代方案可用。

答案1

USB 替代品

USB 替代品很好,

  • 你想测试性能(在裸机上)
  • 计算机性能不够强大,无法在虚拟机中顺利运行系统

您可以使用至少有 2GB 驱动器空间的 USB 闪存盘并创建

  • 居住优盘中的 Ubuntu 系统。

    从 USB 闪存盘启动并在启动菜单中选择“试用 Ubuntu”(其他 Linux 发行版也有类似操作)。如果您在实时(仅实时)驱动器中保存数据、安装程序或调整系统,它将不是关机或重启后仍能继续运行。


如果你想

  • 尝试更高级的 Ubuntu 或
  • 保存数据、安装程序或调整系统,
  • 你有或得到一个至少 4 GB 的快速 USB 闪存盘,

您可以创建一个

  • 持久直播Ubuntu 系统

或者如果你有/得到至少 16 GB 的快速 USB 闪存盘,您可以创建一个

  • 已安装Ubuntu 系统(就像安装在内部驱动器中,但是在 USB 闪存盘中)。

    USB 驱动器中安装的系统稳定且灵活,可以保持最新状态并不受任何限制地进行调整。从这一点上讲,它比持久实时系统更好。如果您可以避免使用专有驱动程序,它可以在计算机之间移植,但持久实时系统更易于移植。

链接


答案2

测试新发行版和操作系统版本的一种方法是使用虚拟化。它不需要额外的 PC/键盘/视频/鼠标空间或适配器来运行具有单个键盘、视频和鼠标的多台 PC。它只需要一台 PC 和一些虚拟化软件。

这假设您有一台具有虚拟化能力的多核 CPU 和适当内存量的机器。我建议至少使用 8GB 内存,如果有的话最好使用 16GB。

如果您正在运行 Ubuntu 并且只想尝试 Linux 发行版(我认为 Windows 不行),您可以使用 Ubuntu 中打包的免费虚拟化软件:KVM 或 Xen。两者都运行良好,免费,并且可以运行各种 Linux 发行版。但是,管理虚拟机的工具有些不足。Oracle 有一个名为 VirtualBox 的免费虚拟化工具版本,当然还有商业 VMWare 产品。如果您选择 Windows 计算机,VirtualBox 和 VMWare 都可以在 Windows 计算机上运行 Ubuntu。

通过使用 VM 管理器,您将能够在新发行版发布时添加它们,测试它们,使用新功能,然后在新版本出现时丢弃它们。它们只有在不运行时才会占用磁盘空间,因此除非空间紧张,否则甚至不需要丢弃它们。使用 VM 管理器,可以轻松地在一台机器上平衡 5、10 个或更多发行版,并能够根据需要启动和删除它们。如果您有幸拥有一台 32GB 或 64GB 的机器,您甚至可以同时运行它们。

答案3

作为更快的更便宜的替代品sudodus 的回答你可以直接从可启动驱动器映像启动文件而不是专用的(USB)驱动器。

至少对于 Ubuntu ISO 映像(以及 Linux Mint 等衍生产品),以下配方是有效的。其他发行版可能需要进一步调整。

  1. 将可启动驱动器映像以 ISO 格式1存储在内部存储驱动器2上的某个位置作为文件。

  2. 添加 Grub “parts” 文件,例如35_isofiles,内容如下

    #!/bin/bash
    set -e
    . /usr/share/grub/grub-mkconfig_lib
    shopt -s nullglob
    
    make_iso_menuentry()
    {
        local isodevice="$(exec "$grub_probe" -t device -- "$1")" || return $?
        local isogrub="$(make_system_path_relative_to_its_root "$1")"
        local label="${2:-"$1"}"
    
        printf 'menuentry %s {\n' "'${label//\'/\'\\\'\'}'"
        printf '\tset isofile=%s\n' "'${isogrub//\'/\'\\\'\'}'"
        prepare_grub_to_access_device "$isodevice" | sed -e 's/^/\t/'
        printf '\t%s\n' \
            'insmod loopback' 'insmod iso9660' 'loopback loop "$isofile"' \
            'linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename="$isofile" ro noprompt noeject noplymouth' \
            'initrd (loop)/casper/initrd.lz'
        printf '}\n\n'
    
        printf 'Found "%s" image: %s\n' "$label" "$1" >&2
    }
    
    
    for iso in /path/to/image.iso # <-- set path to your ISO image here
    do
        make_iso_menuentry "$iso" "${iso##*/}" || true
    done
    

    /etc/grub.d使其可执行。

    编辑指定行中的文件路径以满足您的需求。如果需要,您可以添加多个路径和/或 Bash glob 模式。

  3. 使文件可执行:

    sudo chmod a+x /etc/grub.d/35_isofiles
    
  4. 确保Grub 菜单已启用

  5. 更新 Grub 配置:

    sudo update-grub
    
  6. 重新启动并选择新添加的 Grub 菜单项从相应的映像文件启动。


1其他文件系统类型也是可能的,但可能需要其他 Grub 命令和启动参数调整。

2 LVM、RAID 和加密文件系统应该可以借助 Grub 的实用程序库工作,但我没有对它们进行测试。

答案4

我保留独立分区在我的驱动器上(建议至少 20GB,如果可以的话可以更多)。

我可以在该分区上安装任何我想要测试的操作系统,然后重新启动进入该操作系统。

如果一切运行良好,我可以弃用原来的操作系统分区,并最终重新利用它。

但如果新的操作系统不适合我(驱动程序问题、软件不可用),那么我可以简单地重新启动回到我的旧操作系统,并感谢我还拥有它!

笔记:

  • 这样,您就真正可以在硬件上测试新的操作系统,从而检测驱动程序问题。

  • 但如果您只想体验新操作系统的感觉,其他虚拟化解决方案之一可能对您来说更快、更简单、更安全。

  • 我将其保存/home在一个单独的大分区中,因此它独立于两个操作系统。(不要意外重新格式化该分区!)

  • 但我建议你不要测试时使用共享/home分区。如果两个操作系统的软件版本明显不同,应用程序可能会以不适合另一个操作系统的方式更改其配置文件。因此,请为每个操作系统保留单独的配置文件,直到您提交其中一个。(*)见下文

  • 您不需要创建第二个交换分区。您可以为两个操作系统使用同一个交换分区。

  • 当然你需要当心格式化/安装到哪些分区。因此,在安装新操作系统之前,请先备份并记下分区 ID 和大小 (parted、p、q)。

  • 为了在两个操作系统之间进行双启动,您需要 grub 来检测它们。根据我的经验,grub 总是自动完成此操作。(但 lilo 曾经是另一回事!)

  • 通常可以在一个操作系统上运行另一个操作系统上的软件。我使用 做到了这一点sudo chroot /mnt/original_os,尽管设置小提琴:我必须绑定安装/dev/proc

我的记录是一台机器上安装了 4 个 Linux 操作系统,以及一个 Windows XP。我曾经为了速度和乐趣而启动 Gentoo,但是运行我的网络服务器和邮件服务器在 chroot 中转到受信任的 Debian OS。

(*) 您可以通过编辑 为每个操作系统配置不同的主文件夹/etc/passwd。将您的主文件夹设置为,/home/you/arch-test然后将共享主分区设为目标/etc/fstab并重新启动。您可以将一些点文件符号链接到两个操作系统之间共享,同时将其他点文件保留为特定于操作系统的。

相关内容