当前位置: 首页>>技术问答>>正文


从ISO映像直接从运行Linux的系统的硬盘安装Ubuntu?

,

问题描述

我不想刻录CD,DVD或USB memory 棒。我不关心保存现有的操作系​​统(Linux Mint)。我想直接从ISO映像将Ubuntu(实际上是Kubuntu 12.04 LTS)安装到计算机上。该图像适用于Kubuntu Live DVD(3.5 GB)。

计算机现在已启动到Linux Mint中。一组命令行步骤将令人满意。在我看来,我只需要欺骗现有系统,以为我插入了CD /DVD,对吧?

我知道已经有类似的问题,但它没有一个好的答案。答案基本上是说,“看到这个链接。”我查看了链接,我认为StackExchange需要一个很好的答案来解决这个问题。此外,互联网上其他地方的大多数答案都假设用户从Windows进入Ubuntu。所以我认为这个问题需要一个很好的答案。谢谢

最佳解决方法

我发现这在网上四处看看。

如果在Grub2配置文件中正确定义了条目,Grub2能够直接为许多Linux发行版启动ISO映像。

必须将ISO映像放在未安装操作系统的单独分区上。为简单起见,我们将它放在/boot下的一个新目录中(假设它位于一个单独的分区上)。

  1. 创建新目录并复制ISO映像:

    sudo mkdir /boot/iso
    sudo cp ~/Desktop/name.iso /boot/iso
    

    假设图像位于桌面上,~/Desktop/name.iso是ISO映像的位置和名称。

  2. 添加Grub2条目:

    需要将ISO映像的条目添加到/etc/grub.d/40_custom文件中。编辑文件:

    gksudo gedit /etc/grub.d/40_custom
    

    并使用以下文件替换该文件中的文本:

    #!/bin/sh
    echo "Adding 40_custom." >&2
    exec tail -n +4 $0
    # This file provides an easy way to add custom menu entries.  Simply type the
    # menu entries you want to add after this comment.  Be careful not to change
    # the 'exec tail' line above.
    
    menuentry "Kubuntu ISO" {
            set isofile="/boot/iso/kubuntu-12.04.iso"
            loopback loop (hd0,8)$isofile
            linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
            initrd (loop)/casper/initrd.lz
    }
    

    哪里:

    • Kubuntu ISO =要在Grub菜单中显示的名称。

    • boot/iso/kubuntu-12.04.iso = ISO映像的位置和名称。

    • (hd0,8) =包含ISO映像的分区。

    • 注意:tail -n +4简单地表示“哪一行grub开始从原样读取配置”。这个例子中的第4行是第一个注释行,这很好。

    Grub以与Ubuntu不同的方式读取分区。 ‘hd0’表示Ubuntu读取为sda的第一个HDD,8是与Ubuntu相同的分区。换句话说,(hd0,8)表示’sda8’。

    要找到您的分区,请在终端中运行此命令:

    sudo fdisk -l
    

    假设您的图像包含在sda1分区中,您将上面一行中的(hd0,8)更改为(hd0,1),如果图像位于sdb1分区中,则将(hd0,8)更改为(hd1,1)

  3. 保存并关闭此文件,然后运行以下命令:

    sudo update-grub
    
  4. 这次重新启动并从Grub菜单中选择新的ISO条目。希望它能成功启动到桌面。

    现在,如果你想从同一个ISO执行安装,你需要首先卸载ISO映像,因为它是从你硬盘上的分区安装的(可能你有一个硬盘驱动器,并希望安装Ubuntu到相同的HDD)安装程序需要卸载任何已安装的分区才能进行任何更改。

    因此,从Live CD环境,转到终端并运行:

    sudo umount -l /isodevice
    

就这样。现在您可以在桌面上使用double-click ‘Install’图标继续进行安装。

更多信息,请参阅Ubuntu Forums 1Ubuntu Forums 2

资料来源:TuxGarage

次佳解决方法

我无法使用Mitch的答案,因为我想安装Ubuntu minimal并且ISO映像不起作用(没有vmlinuz)。所以相反我改编它使用NetbootInstall

我将下载的文件放入/boot /netboot并将以下条目添加到grub配置中:

menuentry "NetInstall" {
    linux (hd0,0)/boot/netboot/ubuntu-installer/amd64/linux
    initrd (hd0,0)/boot/netboot/ubuntu-installer/amd64/initrd.gz
}

然后我忘了跑

sudo update-grub

所以我不得不再次启动到现有的linux,但最终更新了grub,实际安装进行得非常顺利。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1436.html,未经允许,请勿转载。