UbuntuをUSBスティックにインストールして、(ほぼ)任意のコンピューターをプラグインしてそこから起動し、そのコンピューターにインストールされているかのように(ほぼ)通常使用できるようにします。また、念のために、ほとんどのコンピューターで(ほとんどの場合)いくつかのポータブルアプリを格納するために使用できるデータパーティションを作成したいと思います。
UbuntuをBIOSモードでインストールした場合、UEFIモードでコンピューターから起動することはできず、その逆も同様だと言われました。
どのコンピューターでも起動できるようにしたいので、それは大きな問題です。
私の場合、BIOSモードまたはUEFIモードでコンピューターを起動できるようにするにはどうすればよいですか?
私はソリューションを探してきましたが、それらのほとんどは私のものとは異なる特定のニーズのためのものであるため、それらのソリューションから最小要件を抽出して問題に適用することは困難です。
この問題に対する単純で「きれいな」非常に一般的な解決策はありますか?
特定の解決策が優れている、または特定の手順が必要な理由について、いくつかの説明をお願いします。
私の現在の設定:
/tmp
、tmpfs、defaults,nosuid,nodev,noexec,mode=1777
vm.swappiness=5
/var/swap/hib.swp
:起動時にスクリプトによって生成される、休止状態の場合はRAMと同じサイズ/var/swap/opt.swp
:必要に応じて、スクリプトによって生成deadline
注意:ここでは、手動で進める方法を紹介します。それはもう少し複雑です(不可能な考えではありません)が、あなたが望む/必要なものを正確に制御することができます。何も理解していない場合は、MultiSystemのようなソフトウェアを使用する方が適切なソリューションになるでしょう。
このようなUSBキーを作成するには2つの方法があります。 mdos/MBRパーティションテーブルまたはGPTパーティションテーブルを使用できます。どちらにも長所と短所があります。最初にmdosバージョンについて説明し、後で時間があればGPTバージョンについて説明します。
まず、すべてのデータをバックアップしてください。これらの操作は、自分が何をするのかわからない場合は危険であり、不正な操作を行うとハードドライブが消去される可能性があるため、コマンドを入力する前に何をしているのかを必ず確認してください。
コマンドを使用する
lsblk
uSBデバイスの名前を見つけます。たとえば、lsblk
を実行してキーを接続し、もう一度lsblk
を実行して、変更内容を確認できます。表示されるデバイスがキーであり、/dev/sdX
が表示されます。
任意のプログラムを使用できます。gparted
、fdisk
、cfdisk
(fdisk
のコマンドラインツール)...その後、次の操作を実行します
Sudo gparted
またはSudo fdisk /dev/sdX
)msdos
パーティションテーブルを作成します(gparted
には、[デバイス/新しいパーティションテーブルの作成]にあり、fdisk
タイプo
があります。fdisk
で作成したい場合は、次のようなものが必要です。
$ Sudo fdisk -l /dev/sdc
Disque /dev/sdc : 14,3 GiB, 15376000000 octets, 30031250 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x2d844503
Périphérique Amorçage Début Fin Secteurs Taille Id Type
/dev/sdc1 2048 14682111 14680064 7G b W95 FAT32
/dev/sdc2 * 14682112 14989311 307200 150M ef EFI (FAT-12/16/32)
/dev/sdc3 * 14989312 30031249 15041938 7,2G b W95 FAT32
これを行うには、次の手順を実行します。
Sudo fdisk /dev/sdX
o
n
p
1
<Enter>
+7G # Or any size you want, just be sure to let arount 2G at the end of the device
t
b
n
p
2
<Enter>
+150M
t
ef
n
p
3
<Enter>
<Enter>
t
b
w
Sudo mkfs.fat -F32 /dev/sdX1
Sudo mkfs.vfat /dev/sdX2
Sudo mkfs.fat -F32 /dev/sdX3
今、それらをマウントして書き込みます
mkdir /tmp/usb{2,3}
Sudo mount /dev/sdX2 /tmp/usb2/
Sudo mount /dev/sdX3 /tmp/usb3/
次に、2つのパーティションにgrubをインストールする必要があります。必ずgrubをインストールしてから、実行してください:
Sudo grub-install -v --no-floppy --boot-directory=/tmp/usb3 --target=i386-pc /dev/sdX
Sudo grub-install -v --no-floppy --boot-directory=/tmp/usb2 --efi-directory=/tmp/usb2 --removable --target=x86_64-efi /dev/sdX
次に、isoファイルを次のフォルダーにコピーします。
Sudo cp <your iso file> /tmp/usb3/linux-iso
そして、grub構成を2つのgrub構成/tmp/usb2/grub/grub.cfg
および/tmp/usb3/grub/grub.cfg
に配置します(NB:grubのバージョンに応じてgrub2/grub.cfgになります)
insmod loopback
insmod iso9660
menuentry 'XUbuntu 16.04 "Xenial Xerus" - AMD64' {
set isofile="/linux-iso/xubuntu-16.04.1-desktop-AMD64.iso"
search --no-floppy --set -f $isofile
loopback loop $isofile
linux (loop)/casper/vmlinuz.efi locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/ubuntu.seed noprompt ro quiet splash noeject --
initrd (loop)/casper/initrd.lz
}
NB:このファイルを編集して適切なisoファイルに一致させる必要があります。ここでは、ファイルを/tmp/usb3/linux-iso/xubuntu-16.04.1-desktop-AMD64.iso
に配置することを想定しています。
再起動し、UEFIモードと非UEFIモードの両方で試してください。動作するはずですが、まだ永続性はないはずです!
永続性の追加は非常に簡単です。アイデアは、3番目のパーティション(実際にはすべてのFAT32パーティションが受け入れられます)に、いくつかのext2ファイルシステムを含む空のファイルcasper-rw
を作成することです。その後、isoファイルの上に配置され、システムが変更された場合、ファイルcasper-rw
がこれらの変更を記録します。ホームのみを記録する場合は、まったく同じ手順を実行しますが、home-rw
の代わりにファイル名casper-rw
を使用します(文書データのみに関心がある場合、および必要に応じて、後で説明する完全な永続性の問題を回避するため)最後に、ファイルの代わりに、ラベルがcasper-rw
またはhome-rw
であるパーティションをext2に作成するだけで、まったく同じ結果が得られることに注意してください。ただし、 4Gbの変更(FAT32システムの最大サイズ)。
ファイルを作成するには、単に実行します:
Sudo dd if=/dev/zero of=/mnt/usb3/casper-rw bs=1M count=512
(ここでは512Mですが、最大4Gまでデータのサイズを変更できます)
ファイルlinux ...
の/mnt/usb{2,3}/grub/grub.cfg
行にpersistent
を追加します(2つのファイルを変更します)。次のようになります。
insmod loopback
insmod iso9660
menuentry 'XUbuntu persistent 16.04 "Xenial Xerus" - AMD64' {
set isofile="/linux-iso/xubuntu-16.04.1-desktop-AMD64.iso"
search --no-floppy --set -f $isofile
loopback loop $isofile
linux (loop)/casper/vmlinuz.efi locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$isofile boot=casper persistent file=/cdrom/preseed/ubuntu.seed noprompt ro quiet splash noeject --
initrd (loop)/casper/initrd.lz
}
ここで再起動します。永続性が必要です。次のように永続ファイルと非永続ファイルを混在させることもできます。
insmod loopback
insmod iso9660
menuentry 'XUbuntu 16.04 "Xenial Xerus" - AMD64' {
set isofile="/linux-iso/xubuntu-16.04.1-desktop-AMD64.iso"
search --no-floppy --set -f $isofile
loopback loop $isofile
linux (loop)/casper/vmlinuz.efi locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$isofile boot=casper file=/cdrom/preseed/ubuntu.seed noprompt ro quiet splash noeject --
initrd (loop)/casper/initrd.lz
}
menuentry 'XUbuntu persistent 16.04 "Xenial Xerus" - AMD64' {
set isofile="/linux-iso/xubuntu-16.04.1-desktop-AMD64.iso"
search --no-floppy --set -f $isofile
loopback loop $isofile
linux (loop)/casper/vmlinuz.efi locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$isofile boot=casper persistent file=/cdrom/preseed/ubuntu.seed noprompt ro quiet splash noeject --
initrd (loop)/casper/initrd.lz
}
現時点では、キー内のすべてのOSに同じ永続性ファイルがあります。 casper-rw
が共有されている場合、すべてを壊すことができます(1つのOSのデータは他のOSのデータとは関係ありません)。システムごとに1つの永続ファイルを作成するには、persist/xubuntu
を実行するために、指定されたフォルダーにファイルを配置するのが非常に簡単です。
mkdir /mnt/usb3/persist/xubuntu/
Sudo dd if=/dev/zero of=/mnt/usb3/persist/xubuntu/casper-rw bs=1M count=512
persistent persistent-path=/persist/xubuntu
ファイルにgrub.cfg
を追加します。
insmod loopback
insmod iso9660
menuentry 'XUbuntu persistent 16.04 "Xenial Xerus" - AMD64' {
set isofile="/linux-iso/xubuntu-16.04.1-desktop-AMD64.iso"
search --no-floppy --set -f $isofile
loopback loop $isofile
linux (loop)/casper/vmlinuz.efi locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$isofile boot=casper persistent persistent-path=/persist/xubuntu file=/cdrom/preseed/ubuntu.seed noprompt ro quiet splash noeject --
initrd (loop)/casper/initrd.lz
}
また、各OSに1つのcasper-rw
パーティションを設定する方法が見つからなかったため、すべてのOSで複数の永続性と4 Gbを超える永続性を持つ方法がわかりません。誰かがアイデアを持っているなら、私はそれについて聞いてうれしいです。たぶんパーティションのマウントは一時的にこの問題を解決することができますか?
永続性を使用する場合、アップグレードが危険な場合があることに注意する必要があります。変更がカーネルに影響を与えると、実際にシステムが破損する可能性があります。さらに、コンピューターを変更するとうまく合わない場合があります。インターネットカードが変更されたときにインターネットが失われたと説明する人もいます。システムをアップグレードする場合は、USBキーに直接インストールすることを検討する必要があります(USBキーがディスクである場合など)。インストールされたOSに含まれています。誰かがこれらの欠点を回避する解決策を持っているなら、私はそれについて聞いてうれしいです。
他のシステムと一致するようにgrubを設定する場合、またはMBRの代わりにGPTを使用する場合は、次のリンクを参照してください。
質問がある場合は、お気軽に質問してください。
USBへのフルインストール-BIOS/UEFI
Mkusbは、BIOSとUEFIの両方から起動できるフルインストールUSBドライブの優れた基盤となります。
mkusbを使用して、インストーラーUSB(2GB以上)でLiveシステムを作成します。
mkusbを使用して、〜25GBの永続性を備えたデフォルト設定を使用して、ターゲット128GB USBで永続システムを作成します(残りのNTFSパーティションは、Windowsアクセス可能なデータパーティションとして使用されます) 。
Mkusbが終了したらすぐに、GPartedを開き、ISO9660パーティションであるsdx4を削除し、sdx5を復元されたスペースに展開します。sdxはターゲットドライブのデバイス名です。
必要に応じて、/ homeに追加のext4パーティションsdx6を作成します。
さらに先に進む前に、HDDのプラグを抜くか取り外します(オプションですが推奨、UEFIモードでは強く推奨)。
インストーラドライブを起動し、[試用]を選択します。
ターゲットドライブの挿入
Ubuntuのインストールを開始...
「その他」を選択します。
(ターゲットドライブ上で)sdx5を選択し、[変更]をクリックします。
/ homeパーティションをsdx6に追加しない限り、他のパーティションには触れないでください。
ブートローダーのインストール用デバイスとしてsdx5を選択します。
インストールを完了します。
Sdx5/boot/grubからgrub.cfgを切り取り、sdx3/boot/grubに貼り付けて、既存のgrub.cfgファイルを上書きします。
ターゲットドライブを起動し、Sudo update-grubを実行して、すべてのドライブを起動メニューに追加します。
18.04以前のインストールでは、適切なドライバー(Nvidiaなど)をインストールしないでください。