3つ以上のOSを破綻なくブート可能にする::MBR & UEFI
さまざまなディストリビューションを試し最後に決めるのが一番です
Windows10+Linuxのマルチブートの実例です。今回は以前に書いた原稿をもとに、MBRの場合を改稿しました。
Windowsはないと困るけれど、Linuxも使ってみたい。Windows7とWindows10の併存のような誰でもできるカンタンなDualBootはできるけれど、Linuxが絡むと難しいと考えるような方向けにまとめてみました。
まだMBRの方も多いと思いますので、実例を報告しておきます。2-3年かそこらの断面です。 現在の当方は、EFIブートで、全ディスクがGPT です。MBRと違い制約がないので楽ちんですね。 機会をみて入れ替えるとよいかと思いますよ。 また、VirtualBoxなどの仮想マシンではどうしても遅くなりますから、RAW=つまり本物を使ってOSは評価するのがやはりよいと考えています。速度は印象を変えますから。
Windowsはないと困るけれど、Linuxも使ってみたい。Windows7とWindows10の併存のような誰でもできるカンタンなDualBootはできるけれど、Linuxが絡むと難しいと考えるような方向けにまとめてみました。
まだMBRの方も多いと思いますので、実例を報告しておきます。2-3年かそこらの断面です。 現在の当方は、EFIブートで、全ディスクがGPT です。MBRと違い制約がないので楽ちんですね。 機会をみて入れ替えるとよいかと思いますよ。 また、VirtualBoxなどの仮想マシンではどうしても遅くなりますから、RAW=つまり本物を使ってOSは評価するのがやはりよいと考えています。速度は印象を変えますから。
SSD容量とパーティション計画
MBR時代の実例、512GB以下を利用した頃
分割 | 容量 | 適用 |
---|---|---|
/ | 20G | いろいろ入れて8GB。12GB空き。*1 |
/home | 50GB | 40GB。不足気味。/homeは長く使うなら分けるべきかも。 |
swap | 9GB | メモリ容量プラスアルファで全9GBくらい確保しています。 古いSSDの空きに。 |
/tmp | tmpfs | 最初はデフォルトで良い。fstabは慣れるまで触らないを推奨 |
*1=2年前、25GBで作成しましたが、gpartedで20GBに減らしたところです。到底使いそうにないので。
最近のある日の例
m.2 1TB NVMe gpt -- Windows10 LinuxMint ManjaroLinux
SSD1号 /dev/sda MBR/ブートローダ/GRUBはここに
DISK/PART | 用途 | 適用 |
---|---|---|
sda1 | Win7/Win10ローダ | NTFS チェインロードでWindowsのどれかを起動 |
sda2 | mint Cinnamon | EXT4 |
sda3 | ubuntu MATE | EXT4 |
ex1 | HOME | EXT4 /home どのlinuxでも共通に。 ユーザー名を変えると楽。 |
ex2 | DATA | NTFS |
ex3 | ディストロ評価 | 完全実験用、ときどき起動しなくなる。 |
SWAP は必ずしもパーティションを必要としない
Linuxをいくついれようがswapはひとつで困らないと思います。また、最近のカーネルではファイルをSWAPとして設定できますから、SWAP専用パーティションは必ずしも必要ではありません。覚えておくとハッピーになれるかも。こちらにまとめました。
Linux SWAPをパーテションでなくファイルで設定する[3分クッキング]
転ばぬ先の杖 GRUBのMBRへの書き込み
MBRを利用していた頃の話です。SSD2=/dev/sdb に時々予備的にGRUBを書き込んでいます。いろんなディストロをいれて「お試し」するためにおもに使っています。メインGRUBが壊れてしまったときでも、インストールUSBメモリなどなしですんなり復旧作業に入れます。即時復旧作業ができますから快適。そういう機会に遭遇することもなくなりましたが。
その他のおせっかい
ちょっと使ってみたいならライブISOでもいいです。SSDでも15GBとっておけばだいじょうぶです。本格的に使う可能性があるなら最初からディストリビューションの推奨どおりに割り当てたほうがよいです。めんどくさいです。/tmpが少なすぎると困ることがありますので、運用次第ですが注意してください。RAMに割り当てると小さいわけで。
メモリ合計8GBあれば通常余裕です。現在4000円位でしょうか。 4GBあればライトなデスクトップ用途は十分かなと。VirtualBoxなどを常時起動するのであれば、8GBほしいところですね。めんどくさいので16GBです。
Cinnamonに比較してMATEはメモリ消費は少ないです。ですが、Windowsに比べると他のフレイバーも少ないです。あんまり気にかける必要はないです。8GB積んでいる場合、起動状態で1GBとすこし消費ってのを目安に考えてください。軽いブラウジング程度では4GBを超えることはまったくないです。SWAPも発生していないのと同じです。
無精者のバックアップ:: /homeをスライスしておいたほうが長期視点ではベストチョイス
マルチブートで、パーテションスライスを分けすぎると、バックアップ計画や2年に一度のLTSアップグレードなどがめんどうになります。/home を独立させるぐらいが楽でいいと思います。 ざくっとな!!です。とにかくバックアップさえ取得して戻せるならご自由にです。
死守している/home は分割していますので当方は12年以上引き継いて使っています。細かい設定ファイルもそのまま軽い調整で継続できます。考え方次第です。
/homeも含めて1パーテでも良いかもしれませんが、アップグレード時によりめんどうな作業が発生しますので、ゼロから環境を構築するのが苦にならない人、レストアしながらでいいやと思える人以外にはあまりおすすめしません。Linuxを一時的なお試しとして使うなら別ですね。お手軽にどうぞ。
おまけ::今日の私のメインNVMe SSDの構成/UEFIブート、GPT
上記のMRRではありません。gpt/uefi 、NVMe 1TBでの例です。
UEFIになってWindowsの大先生(匿名掲示板によれば自称パワーユーザーの意味ですか)でしくじっている、勘違いしているのはだいたい図で示す2番目のFAT・efi 置き場の設定や仕組みがわかってないケースですね。ほぼコレかも。
2番目::/boot/efi Windows10と共用 FAT
8番目::/home 各Linuxで共通のEXT4
自分の結論:: UEFIブートがもっともシンプルに構成できていい。
BIOSでの uefi bootのセレクター"も"使いやすいので、なんとでもなる。
/boot/efi の秘密
慣れている人なら、このリストを見ただけでおわかりいただけるでしょう。抜粋です。
$ sudo find /boot/efi/EFI -type f | perl -lnE '/\A.*efi$/ and s/[^-][^\/]*\// |/g;s/|\([^ ]\)/|-\1/ and print' #tree
綺麗でないので、やっぱ tree コマンド導入。sudo apt install tree
/boot/efi/EFI
├── Boot
│ ├── bkpbootx64.efi
│ ├── bootx64.efi
│ ├── fbx64.efi
│ └── mmx64.efi
├── MX18.1
│ └── grubx64.efi
├── MX18.3
│ └── grubx64.efi
├── Manjaro
│ └── grubx64.efi
├── Microsoft
│ ├── Boot
│ │ ├── BCD
│ │ ├── BCD.LOG
│ │ ├── BCD.LOG1
│ │ ├── BCD.LOG2
│ │ ├── BOOTSTAT.DAT
│ │ ├── Fonts
│ │ │ ├── chs_boot.ttf
│ │ │ ├── cht_boot.ttf
│ │ │ ├── jpn_boot.ttf
│ │ │ ├── kor_boot.ttf
│ │ │ ├── malgun_boot.ttf
│ │ │ ├── malgunn_boot.ttf
│ │ │ ├── meiryo_boot.ttf
│ │ │ ├── meiryon_boot.ttf
│ │ │ ├── msjh_boot.ttf
│ │ │ ├── msjhn_boot.ttf
│ │ │ ├── msyh_boot.ttf
│ │ │ ├── msyhn_boot.ttf
│ │ │ ├── segmono_boot.ttf
│ │ │ ├── segoe_slboot.ttf
│ │ │ ├── segoen_slboot.ttf
│ │ │ └── wgl4_boot.ttf
│ │ ├── Resources
│ │ │ ├── bootres.dll
│ │ │ ├── en-US
│ │ │ │ └── bootres.dll.mui
│ │ │ └── ja-JP
│ │ │ └── bootres.dll.mui
│ │ ├── bg-BG
│ │ │ ├── bootmgfw.efi.mui
│ │ │ └── bootmgr.efi.mui
│ │ ├── boot.stl
│ │ ├── bootmgfw.efi
│ │ ├── bootmgr.efi
│ │ ├── cs-CZ
│ │ │ ├── bootmgfw.efi.mui
│ │ │ ├── bootmgr.efi.mui
│ │ │ └── memtest.efi.mui
│ │ ├── da-DK
│ │ │ ├── bootmgfw.efi.mui
│ │ │ ├── bootmgr.efi.mui
│ │ │ └── memtest.efi.mui
│ │ ├── de-DE
│ │ │ ├── bootmgfw.efi.mui
│ │ │ ├── bootmgr.efi.mui
│ │ │ └── memtest.efi.mui
│ │ ├── el-GR
│ │ │ ├── bootmgfw.efi.mui
│ │ │ ├── bootmgr.efi.mui
│ │ │ └── memtest.efi.mui
│ │ ├── en-GB
│ │ │ ├── bootmgfw.efi.mui
│ │ │ └── bootmgr.efi.mui
│ │ ├── en-US
│ │ │ ├── bootmgfw.efi.mui
│ │ │ ├── bootmgr.efi.mui
│ │ │ └── memtest.efi.mui
│ │ ├── es-ES
│ │ │ ├── bootmgfw.efi.mui
│ │ │ ├── bootmgr.efi.mui
│ │ │ └── memtest.efi.mui
│ │ ├── es-MX
│ │ │ ├── bootmgfw.efi.mui
│ │ │ └── bootmgr.efi.mui
│ │ ├── et-EE
│ │ │ ├── bootmgfw.efi.mui
│ │ │ └── bootmgr.efi.mui
│ │ ├── fi-FI
│ │ │ ├── bootmgfw.efi.mui
│ │ │ ├── bootmgr.efi.mui
│ │ │ └── memtest.efi.mui
│ │ ├── fr-CA
│ │ │ ├── bootmgfw.efi.mui
│ │ │ └── bootmgr.efi.mui
│ │ ├── fr-FR
│ │ │ ├── bootmgfw.efi.mui
│ │ │ ├── bootmgr.efi.mui
│ │ │ └── memtest.efi.mui
│ │ ├── hr-HR
│ │ │ ├── bootmgfw.efi.mui
│ │ │ └── bootmgr.efi.mui
│ │ ├── hu-HU
│ │ │ ├── bootmgfw.efi.mui
│ │ │ ├── bootmgr.efi.mui
│ │ │ └── memtest.efi.mui
│ │ ├── it-IT
│ │ │ ├── bootmgfw.efi.mui
│ │ │ ├── bootmgr.efi.mui
│ │ │ └── memtest.efi.mui
│ │ ├── ja-JP
│ │ │ ├── bootmgfw.efi.mui
│ │ │ ├── bootmgr.efi.mui
│ │ │ └── memtest.efi.mui
│ │ ├── kd_02_10df.dll
│ │ ├── kd_02_10ec.dll
│ │ ├── kd_02_1137.dll
│ │ ├── kd_02_14e4.dll
│ │ ├── kd_02_15b3.dll
│ │ ├── kd_02_1969.dll
│ │ ├── kd_02_19a2.dll
│ │ ├── kd_02_1af4.dll
│ │ ├── kd_02_8086.dll
│ │ ├── kd_07_1415.dll
│ │ ├── kd_0C_8086.dll
│ │ ├── kdnet_uart16550.dll
│ │ ├── kdstub.dll
│ │ ├── ko-KR
│ │ │ ├── bootmgfw.efi.mui
│ │ │ ├── bootmgr.efi.mui
│ │ │ └── memtest.efi.mui
│ │ ├── lt-LT
│ │ │ ├── bootmgfw.efi.mui
│ │ │ └── bootmgr.efi.mui
│ │ ├── lv-LV
│ │ │ ├── bootmgfw.efi.mui
│ │ │ └── bootmgr.efi.mui
│ │ ├── memtest.efi
│ │ ├── nb-NO
│ │ │ ├── bootmgfw.efi.mui
│ │ │ ├── bootmgr.efi.mui
│ │ │ └── memtest.efi.mui
│ │ ├── nl-NL
│ │ │ ├── bootmgfw.efi.mui
│ │ │ ├── bootmgr.efi.mui
│ │ │ └── memtest.efi.mui
│ │ ├── pl-PL
│ │ │ ├── bootmgfw.efi.mui
│ │ │ ├── bootmgr.efi.mui
│ │ │ └── memtest.efi.mui
│ │ ├── pt-BR
│ │ │ ├── bootmgfw.efi.mui
│ │ │ ├── bootmgr.efi.mui
│ │ │ └── memtest.efi.mui
│ │ ├── pt-PT
│ │ │ ├── bootmgfw.efi.mui
│ │ │ ├── bootmgr.efi.mui
│ │ │ └── memtest.efi.mui
│ │ ├── qps-ploc
│ │ │ └── memtest.efi.mui
│ │ ├── ro-RO
│ │ │ ├── bootmgfw.efi.mui
│ │ │ └── bootmgr.efi.mui
│ │ ├── ru-RU
│ │ │ ├── bootmgfw.efi.mui
│ │ │ ├── bootmgr.efi.mui
│ │ │ └── memtest.efi.mui
│ │ ├── sk-SK
│ │ │ ├── bootmgfw.efi.mui
│ │ │ └── bootmgr.efi.mui
│ │ ├── sl-SI
│ │ │ ├── bootmgfw.efi.mui
│ │ │ └── bootmgr.efi.mui
│ │ ├── sr-Latn-RS
│ │ │ ├── bootmgfw.efi.mui
│ │ │ └── bootmgr.efi.mui
│ │ ├── sv-SE
│ │ │ ├── bootmgfw.efi.mui
│ │ │ ├── bootmgr.efi.mui
│ │ │ └── memtest.efi.mui
│ │ ├── tr-TR
│ │ │ ├── bootmgfw.efi.mui
│ │ │ ├── bootmgr.efi.mui
│ │ │ └── memtest.efi.mui
│ │ ├── uk-UA
│ │ │ ├── bootmgfw.efi.mui
│ │ │ └── bootmgr.efi.mui
│ │ ├── winsipolicy.p7b
│ │ ├── zh-CN
│ │ │ ├── bootmgfw.efi.mui
│ │ │ ├── bootmgr.efi.mui
│ │ │ └── memtest.efi.mui
│ │ └── zh-TW
│ │ ├── bootmgfw.efi.mui
│ │ ├── bootmgr.efi.mui
│ │ └── memtest.efi.mui
│ └── Recovery
│ ├── BCD
│ ├── BCD.LOG
│ ├── BCD.LOG1
│ └── BCD.LOG2
├── feren
│ ├── BOOTX64.CSV
│ ├── grub.cfg
│ ├── grubx64.efi
│ ├── mmx64.efi
│ └── shimx64.efi
├── memtest86
│ ├── MemTest86.log
│ ├── blacklist.cfg
│ ├── memtestx64.efi
│ ├── mt86.png
│ └── unifont.bin
└── ubuntu
├── BOOTX64.CSV
├── grub.cfg
├── grubx64.efi
├── mmx64.efi
└── shimx64.efi
50 directories, 161 files