ハードドライブに保存されているISOファイルから起動するには?

ハードドライブに保存されているISOファイルから起動するには?

起動可能なCD/DVDまたはライブUSBを作成/書き込みでき、そこから起動/インストールできることがわかります。しかし、現在GNU / Linuxを実行しており、ハードドライブに別のGNU / Linux ISOファイルをインストールしたいとしましょう。ハードドライブのISOから直接起動して、対応するGNU / Linuxオペレーティングシステムをインストールできますか? ?

答え1

はい、ブートローダメニューにメニュー項目を追加するだけですGRUB

編集してカスタムGRUBメニュー項目を追加できます/etc/grub.d/40_custom

カスタムメニュー項目の例:

 exec tail -n +3 $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 "Trisquel ISO" {
        set isofile="/Operating_Systems/Trisquel_7.0_i686/trisquel_7.0_i686.iso"
        loopback loop (hd0,5)$isofile
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash
        initrd (loop)/casper/initrd
}

説明と説明:

  1. 注文するsetISOファイルのパスを変数(ここでは)に保存するために使用されますisofile

  2. loopbackファイルシステムイメージからデバイスを作成するために使用されます。これを行うには、デバイスとイメージファイルを指定する必要があります。ここでは(hd0,5)$isofilewhichを(hd0,5)使ってディスクのパーティションです。

    • 注:の(hd0,5)最初
      数字は(ここで:0 = 1番目のデバイス)から始まるデバイス番号を表し、2番目の数字は(ここでは5 = 5番目のパーティション)から始まるパーティション番号を表します。これは意味する0
      1
      /dev/sda5
    • そして変数には$isofileISOファイルへのパスがあります。それでついにになりました(hd0,5)/Operating_Systems/Trisquel_7.0_i686/trisquel_7.0_i686.iso
    • 詳細については、次を参照してください。デバイスを指定する方法そして文書

  3. linuxこのコマンドはLinuxカーネル(仮想デバイス)ファイルから。 ISOにLinuxカーネルパスを入力します。

    • カーネル例のパスを取得するには、ISO の内容を読んで抽出します。

       $ 7z l trisquel_7.0_i686.iso | grep vmlinu
       2014-10-29 21:41:43 .....      5841680      5841680  casper/vmlinuz
       2014-11-03 00:45:09 .....      5844176      5844176  casper/vmlinuz.netinst
      

      だから/casper/vmlinuzここで使用されました。

  4. initrdこのコマンドは、Linuxカーネルイメージの初期RAMディスクをロードし、メモリのLinux設定領域で適切なパラメータを設定するために使用されます。

    • 初期化プログラム一時ルートファイルシステムをメモリにロードする方法。initrdISOにパスを入力してください。
    • パスを取得するには、ISOの内容を読んで抽出しますinitrd

      $ 7z l trisquel_7.0_i686.iso | grep initrd
      2014-11-03 00:45:19 .....     16851900     16851900  casper/initrd
      2014-11-03 00:45:09 .....      9398592      9398592  casper/initrd.netinst
      
  5. boot=casper iso-scan/filename=$isofile noprompt noejectGNU / Linuxディストリビューションに固有のものであり、他のLinuxスイートに依存する可能性がある追加のパラメータ。さまざまなシリーズ/リリースのいくつかの構成を見つけることができます。ここ

    注:一部のディストリビューションは、使用されているアルゴリズム/圧縮を使用するinitrd.gzか、それに依存します。initrd.lz

編集が完了したら、/etc/grub.d/40_customコマンドでGRUBを更新する必要がありますupdate-grub2。再起動すると、GRUB画面に追加したカスタムメニュー項目を見つけることができます。 GNU/Linux ディストリビューションのライブ環境を使用できます。

ISOからインストールを実行するには、インストールプログラムがマウントされたパーティションをアンマウントする必要があります。つまり、別のシステムがインストールされている場合はすべて/isodeviceですumount -l /isodevice

関連情報