web-dev-qa-db-ja.com

Linuxを実行しているシステムのハードディスクから直接ISOイメージからUbuntuをインストールしますか?

CD、DVD、USBメモリースティックを焼きたくありません。また、既存のオペレーティングシステム(Linux Mint)の保存については気にしません。 Ubuntu(実際にはKubuntu 12.04 LTS)をISOイメージからコンピューターに直接インストールしたい。イメージはKubuntu Live DVD(3.5 GB)用です。

これで、コンピューターがLinux Mintで起動されました。一連のコマンドラインステップで十分です。私の考えでは、単に既存のシステムをだましてCD/DVDを挿入したと思わせる必要があります。

同様の質問が既にあることは知っていますが、良い答えはありません。答えは基本的に、「このリンクを参照してください」と言っています。リンクを確認し、StackExchangeがこの質問に対する適切な回答を必要とすることにしました。さらに、インターネット上の他の場所でのほとんどの回答では、ユーザーがWindowsからUbuntuに来ていると想定しています。ですから、この質問はここで良い答えが必要なものだと思います。ありがとう

57
MountainX

私はこれをネットで見回しているのを見つけました。

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からインストールを実行する場合、HDDのパーティションからマウントされるため、最初にISOイメージをアンマウントする必要があります(おそらく、単一のHDDがあり、Ubuntuを同じHDD)で、インストーラーは、変更を加える前に、マウントされたパーティションをアンマウントする必要があります。

    したがって、Live CD環境から、ターミナルに移動して次を実行します。

    Sudo umount -l /isodevice
    

それで全部です。これで、デスクトップの「インストール」アイコンをダブルクリックして、インストールを続行できます。

詳細は buntuフォーラム1 、および buntuフォーラム2 をご覧ください

ソース: TuxGarage

50
Mitch

Ubuntu Minimalをインストールしたかったため、Mitchの答えを使用できませんでした。ISOイメージは機能しませんでした(vmlinuzはありません)。そこで、代わりに NetbootInstall を使用するように変更しました

ダウンロードしたファイルを/ boot/netbootに置き、grub configに次のエントリを追加しました。

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を更新して、実際のインストールは非常にスムーズに進みました。

6
z7sg