爆速ノートパソコンを簡単に、安く作りたい


数年前に買ったノートパソコンを活かして、爆速マシンを作りたい。
外付けSSDを買ってきて、USB3.0で接続して、Linuxをインストールする。
内蔵HDDはそのままにして、Windows10を残す。
USBで外付けSSDを挿したらLinuxが起動する。挿さなければWindosが起動する。

予算1万円以下なら
・SSD(120GB):6,000円〜7,000円くらい。
・SSD(240GB):9,000円〜10,000円くらい。
・SATA⇔USB3.0ケーブル:1500円くらい。

もっと安くしたいなら
・USBメモリ(32GB):4,000円くらい。SunDiskのExtremeに限る。


外付けSSDにUbuntu17.04をインストールするが、起動しない


ISOファイルを書き込んだDVD-Rを使って、外付けSSDにUbuntuをインストールした。
しかし、インストール処理が全て終わって、再起動すると、何故かWindowsが起動してしまう。
何度もインストールし直しても、Windowsが起動してしまうため、挫折。
なぜか外付けSSDからUbuntuがブートできない。

パーティション構成もいろいろ試したが、ダメだった。
[sdb1:/をマウント][sdb2:SWAP]
[sdb1:efiパーティション][sdb2:/をマウント][sdb3:SWAP]
[sdb1:efiパーティション][sdb2:/bootをマウント][sdb3:/をマウント][sdb4:SWAP]
[sdb1:FAT32][sdb2:/をマウント][sdb3:SWAP]

なぜか分からないが、UbuntuがブートしないでWindowsが起動してしまう。
ブートローダは[sdb]に書き込むようにしているのに。
BIOSの起動順序も、windowsよりもUSBを優先させている。
※ちなみに内蔵HDDがsdaとして認識されていて、外付けSSDがsdbとして認識されている状態。

最終的に、私の解決策としては、以下のパーティション構成で解決した。
[sdb1:FAT32][sdb2:/をマウント][sdb3:SWAP]

いろいろ調べてみたが、海外でも同じような事象に苦しむ人が多数いるようだ。

Install ubuntu17.04 to External SSD USB3.0 drives

setting dual booting ubuntu and windows is difficult.
A lot of people are facing the same problem.

Dual Boot - Windows + Ubuntu. can't boot ubuntu.
Ubuntu Dual Boot - installed but can't boot it.
Ubuntu dual boot: grub doesn’t start.
How to Dual-boot Linux and Windows.

0:pre create partition(sdb1,sdb2,sdb3).
1:install ubuntu to only sdb2. swap to sdb3. sdb1 keep empty.
2:copy [/boot directory at sdb2] to [sdb1 formated FAT32].
3:copy[/EFI directory at DVD(ubuntu ISO)] to [sdb1 formated FAT32].

Install ubuntu17.04 to External SSD USB3.0 drives.Dual Boot - Windows + Ubuntu. can't boot ubuntu.Ubuntu Dual Boot - installed but can't boot it.Ubuntu dual boot: grub doesn’t start.How to Dual-boot Linux and Windows.

以上、海外向けに書きました。様々な国の人が見てくれることを期待。


EFI/BOOT/xxxx.efiとbootフォルダをsdb1に配置するとUbuntuが起動した



Linuxのブートの仕組みを理解できていないが、以下のパーティション構成で起動できた。
[sdb1:FAT32][sdb2:/をマウント][sdb3:SWAP]

基本的にUbuntuはsdb2だけにすべてインストールする。
スワップは適当に2GB程度を割り当てる。

このままでは起動しない。この状態ではWindows10が起動してしまう。
Ubuntuを起動させるためには、Ubuntuインストール完了後に、sdb1のFAT32に2つディレクトリ(EFIとboot)をコピーする。
コピーするためには、今回インストールしたUbuntuではなく、Windows等の別マシンや別OSでコピーを行う必要がある。

【sdb1:FAT32】
EFI/BOOT/BOOTx64.EFI
EFI/BOOT/grubx64.efi
boot/grub
boot/各種ファイル

たぶんLinuxの起動順序は、「EFI→grub→Linux関係」だと思われる。

【sdb1:FAT32】
EFI/BOOT/BOOTx64.EFI ←このファイルは、元々どこにあるのか?これは別のUbuntu16.04から持ってきました。※インストールに使用したISOを焼いたDVDにも同じファイルがあるので、それでも可。
EFI/BOOT/grubx64.efi  ←このファイルは、元々どこにあるのか?これは別のUbuntu16.04から持ってきました。※インストールに使用したISOを焼いたDVDにも同じファイルがあるので、それでも可。
boot/grub  ←このファイルは、元々どこにあるのか?これは、sdb2の/bootをコピーしました。
boot/各種ファイル ←このファイルは、元々どこにあるのか?これは、sdb2の/bootをコピーしました。


まとめると、
・EFIフォルダは、別のUbuntuからコピーする。もしくはインストールDVDからコピーする。
・bootフォルダは、今回インストールした17.04の/bootディレクトリをそのままコピーする。sdb2にある/bootディレクトリです。

これで無事にUbuntu17.04がSSDから起動しました。

ただ一番最初にUbuntuを起動させたのは、外付けSSDからではなく、USBメモリーにインストールしたUbuntu15.10です。
SSDではなくUSBメモリーの方が、もっと簡単にインストールができました。


rufusでUSBメモリーブートのLinuxを作る


数年前は、外付けSSDは持っておらず、USBメモリーだけ買ってきて、USBブートのLinuxを作ろうと考えていました。
DVD-RにISOを焼くこともせずに、ノートパソコンと最強のUSBメモリー(SunDiskのExtremeの32GB)だけで、爆速Ubuntuを構築しました。

USBメモリーブートの爆速Ubuntuの作り方
windowsで、UbuntuのISOをダウンロードする。
windowsで、rufusでUSBメモリーに、USBブートでISOを焼く。
USBメモリのパーティション構成は、[sdb1:FAT32][sdb2:ext4][sdb3:SWAP]。rufusではsdb1:FAT32にISOを焼く。
BIOSの起動順序を入れ替えて、USBメモリーでブートする。
テ韻USBメモリーのsdb2にLinuxをインストールする。sdb2に/をマウントする。sdb1は触らず残す。
Δ修靴董▲ぅ鵐好函璽覺偉燦紂∈撞動するとgrubでエラーが発生する。
sdb1:FAT32に、sdb2のbootフォルダをコピーする。
無事にLinuxが起動する。※なぜなのかは理解できていない。

このやり方でUSBメモリーだけで爆速Ubuntuが使えるようになった。
そして、USBメモリーの容量不足から、外付けSSDにUbuntuをインストールする際にも、同じやり方をやってみたら、うまくいった。
※注意点として、rufusはUSBメモリーは認識するが、外付けSSDは認識しない。


もっと別の解決策があるのかもしれないが、
調べてもあまり解決策が見つからないので、ここに記すこととする。


<備考>
---------------------------------------------------------------------------------------------------------
ただこんな苦労をして、Ubuntuをインストールしていたのが馬鹿らしくなるくらい
簡単にインストールできるのがCentOSだったんです。

だったんです。
だったんです。

現時点「centos7 x86-64-DVD 1708.iso」では簡単に外付けSSDにインストールできなくなってしまいました。
それより前は、簡単でした。一発で外付けSSDにインストールできて、一発で起動できました。
Ubuntuはずっと、ずっと、ずっと、一発ではインストールできない。。。。

UbuntuかCentOSか、どちらを使っていけばよいのか悩む。
---------------------------------------------------------------------------------------------------------