web-dev-qa-db-ja.com

Ubuntu Live USBを手動で作成する方法

私がやろうとしていること:

  1. 2つのパーティションでブート可能なUSBを作成します(データ用にブート可能なFAT32とNTFS)。 (完了)
  2. GRUB2をFAT32パーティションにインストールします。 (完了)
  3. Ubuntuを永続的にインストールして、FAT32パーティションをマルチブートします。

最後の1つはそれほど難しくないはずですが、頭が吹き飛ばそうとしています...ルートディレクトリではなく、1つのパーティションにUbuntuを永続的にインストールする方法についての詳細な手順はどこにも見つかりません。 (たとえば、ubuntu12.04フォルダー内)。現時点では、すべてのインターネットのように見える情報を収集しています。

  1. Ubuntu 12.04 LiveCD ISOを/ubuntu12.04ディレクトリに抽出しました。
  2. ddおよび/ubuntu12.04/casper-rw itを使用してmkfs.ext2ファイルを作成しました。
  3. grub.cfgmenuentryを追加しました:

    menuentry "Run Ubuntu 12.04.2 Live" {
        linux   /ubuntu12.04/casper/vmlinuz  file=/ubuntu12.04/preseed/ubuntu.seed boot=casper persistent rw quiet splash --
        initrd  /ubuntu12.04/casper/initrd.lz
    }
    

ただし、結果は常に同じです。

(initramfs): Unable to find a medium containing a live file system.

Initramfsが見つけられるように、casper-rwファイルをどこに置くべきですか?または私が必要なものを得るために何でも。

2
MadBrozzeR

Ubuntu 12.04.2の場合、カーネルは/casper/vmlinuz.efiです。 .efiが最近追加されたことに注意してください。

また、CDファイルを抽出する必要はありません。.isoから直接起動できます。 USBマルチブートに使用するテンプレートは次のとおりです。

menuentry "YOUR TITLE" {
    insmod ntfs
    insmod iso9660
    loopback loop /distros/FILENAME.ISO
    linux (loop)/casper/vmlinuz.efi persistent boot=casper iso-scan/filename="/distros/FILENAME.ISO" noeject noprompt splash toram --
    initrd (loop)/casper/initrd.lz
}

このようにして、すべてのディストリビューション/バージョンを元の.isoファイルとしてNTFSデータパーティション内の/distrosディレクトリに保存できます。 Grub2はMBRにインストールされ、その/bootファイル(上記の手書き/boot/grub/grub.cfgを含む)もデータパーティションにインストールされます。 Grub2は次のようにインストールされました。

Sudo grub-install --no-floppy --root-directory="/PATH/TO/MOUNTED/USB" "/dev/sdX"
3
MestreLion

Grubを使用したブートディスクの手動作成は、私の経験からすると非常に脆弱です。 EFIシステムで作成された場合、BIOSシステムでは機能せず、エラーで失敗します

error:invalid Arch independent ELF magic.
grub rescue>

Efiのみのシステムでは、bios bootoaders mayは機能しません。自動作成されたライブCDのように、grub-efiとsyslinuxの両方を使用することをお勧めします。

あなたはこれをしたいかもしれません

a)バジリオンのフォルダとファイルがペンドライブを乱雑にし、それが他の目的に使用できなくなることを防ぐ

b)マルチブート


私が使用する手法は次のとおりです。put grub:

Sudo grub-install --removable --root-directory=/path/to/mount /dev/sdx

--removableが必要と思われるか、efiを搭載した一部のコンピューターで面白いインストールエラーが発生します

Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
Try 'modprobe efivars' as root.

これにより、bootおよびefiフォルダーが作成されます。 (標準のライブCDとは異なり)bootフォルダー内にsyslinuxをインストールします。

cd /path/to/mount
Sudo syslinux --directory boot/syslinux --install /dev/sdx

ubuntu isoをubuntu(/path/to/mount/ubuntu)というフォルダーに抽出します。次を含むように/path/to/mount/boot/grub/grub.cfgを編集します。

menuentry "Ubuntu" {
    set gfxpayload=keep
    linux   /ubuntu/casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash live-media-path=/ubuntu/casper --
    initrd  /ubuntu/casper/initrd.lz
}

次に、syslinuxをセットアップします。isoのisolinuxディレクトリからvesamenu.c32/path/to/mount/boot/syslinux/vesamenu.c32 create /path/to/mount/boot/syslinux/slax.cfgにコピーして、以下を含めます。

Prompt 0
TIMEOUT 90
DEFAULT /boot/syslinux/vesamenu.c32


LABEL Ubuntu
MENU LABEL Ubuntu
    kernel  /ubuntu/casper/vmlinuz.efi  
    append initrd=/ubuntu/casper/initrd.lz boot=casper live-media-path=/ubuntu/casper quiet splash --
0
staticd