USBメモリにUbuntuをインストール "USBuntu"
最近、Ubuntu 14.04をインストールしたUSBメモリを外出時に携帯しています。
USBメモリにインストールしたUbuntu、名付けて「USBuntu」。
これがあると、外出先にPCさえあれば、いつでも自分専用の環境を使うことができ、なおかつ、そのPCに一切変更を加えず不要なデータも残さなくて済む、というメリットがあります。
この環境の作り方を忘れてしまいそうなので、以下に作り方を記録しておきます。(自分用のメモとして)
ちなみに、現在使用しているUSBメモリは、コレ。
シリコンパワーのUSB 3.0対応の64GB。
USB 3.0対応を選択したのは、やっぱり速度を重視したため。
Ubuntuをインストールするだけなら容量は64GBも必要としないけれど、WindowsやMacとデータ共有するための領域を用意しておきたかったことと、あとになって容量を増やしたくなる可能性も考慮したため、自分の財布事情と相談した結果、64GBを選択。
要件
とりあえず、以下。
参考情報
以下のサイトの情報を参考とさせていただきました。感謝。
準備
環境構築に先駆けて、以下の準備を行う。
手順
以下、自分用のメモなので、超簡単に。
USBメモリにUbuntuをインストール
インストールの詳細は割愛。だって、一般的なインストール方法だし。
ただし、注意点としては、ブートローダのインストール先。
USBメモリを指定すること。間違ってもHDDを指定してはいけない。
万が一を考慮して、上記の準備段階で、PCからHDDを外しておくほうが良い。
ごにょごにょ
Ubuntuが起動したら、Terminalを起動して、以下を実行。
$ sudo chmod -x /etc/grub.d/30_os-prober $ sudo apt-get update $ sudo apt-get -u dist-upgrade $ sudo apt-get install grub-efi-amd64-bin $ grub-mkimage -d /usr/lib/grub/x86_64-efi/ -o BOOTx64.EFI -O x86_64-efi -p "" part_gpt part_msdos ntfs ntfscomp hfsplus fat ext2 normal chain boot configfile linux multiboot $ mkdir efi $ sudo mount /dev/sdb1 efi $ mkdir -p efi/EFI/BOOT $ cp BOOTx64.EFI efi/EFI/BOOT/ $ cp -r /usr/lib/grub/x86_64-efi efi/EFI/BOOT/ $ emacs -nw efi/EFI/BOOT/grub.cfg $ sudo umount efi
尚、上記で /dev/sdb1 の部分は、環境にあわせて適宜変更。
また、下から2行目のemacsによる編集では、grub.cfgに以下の記述を追加する。
configfile (hd0,2)/boot/grub/grub.cfg
※この部分が参考にしたサイトとの違いで、参考にしたサイトの通りに記述すると、うちのMacBook AirではUbuntuの起動ができなかった・・・
結果
上記で完成した「USBuntu」を使った結果。
まずはWindows PC。
そして、MacBook Air。
もちろん、どちらもHDD(SSD)には別のOS(WindowsやMacOS)がインストールされたままなので、USBメモリを挿入していない状態で通常ブートさせれば、それぞれの環境が使用可能。
トラブルシューティング
以下、参考まで。(環境依存の可能性あり)
2016年3月1日追記
チューニングを行いたいと思います。
まず、/tmpをRAMに移して、USBメモリの書き込みを減らします。
/etc/fstabに以下の記述を追加します。
tmpfs /tmp tmpfs defaults,noatime 0 0 tmpfs /var/tmp tmpfs defaults,noatime 0 0
次に、swapをファイルで1GB確保し、実メモリを使い切るまではswapを使わないように設定します。
まずはswapファイルの作成から。
$ sudo dd if=/dev/zero of=/swapfile bs=1M count=1000 $ sudo mkswap /swapfile $ sudo echo "/swapfile swap swap defaults 0 0" >> /etc/fstab
そして、/etc/sysctl.confに以下の記述を追加。
vm.swappiness = 0
以上。