VAIO Pro 11にUbuntu14.04を入れるときのメモ1

このエントリーをはてなブックマークに追加

購入して1年立たず液晶に縦線が入るも上海では保証がないため放置していたのだけど、先日ようやく淮海路のSony旗艦店の修理センターで修理した。なんだかんだで1,700元かかった。まあ思ったより安かった気がしなくもないけど悔しい。もうVAIOは買わない。どっちにしろ今では英語キーボードが選択できないのであれだけど

で、めでたく戻ってきたPro11にUbuntuを再インストールするにあたって知った件をいくつかメモしておく。

▽ UbuntuのみでUEFI Secure Bootを行う
14.04自体はUEFIにもセキュアブートにも対応してるのだけどインストール後に”Windowsの起動に失敗しました”と言われ、何故か起動できない。
だいぶハマったが調べてみると、VAIOのファームウェアはUEFIのブートエントリーに”Windows Boot Manager”が存在しない場合、UEFIが”Windows Boot Manager”で\EFI\Boot\bootx64.efiを勝手にエントリー処理し、更にデフォルトでWindows Boot Managerから起動を行うのである。故にubuntuで登録されたEFIエントリが起動されない。

解決方法として、インストール後にインストール時に利用したUSBメモリで起動、Terminalから下記を実行する。エントリーの削除は注意!起動しなくなる場合もあるので意味が理解できない人は実行しないほうが良い。

# efiドライバを読み込み
sudo modprobe efivars

# efibootmgrをインストール
sudo apt-get install efibootmgr

# efiの起動エントリを確認
sudo efibootmgr -v

# Ubuntuと勝手に追加されたWindows Boot Managerエントリーを削除(Boot0001ならXは1)
sudo efibootmgr -b X -B

# UbuntuのefiをWindows Boot Managerエントリーとして追加
sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\ubuntu\shimx64.efi"

# 色々探したんだけれどVaioProでUEFIを用いてWindowsとデュアルブートするというドキュメントはあったが、Ubuntu単体でブートするというドキュメントは殆ど見当たらなかった。

▽ LUKSパーティションをマウントする方法
パーティション全体を暗号化するLUKS、Ubuntuの場合インストール時にlvmと併用している。つまりLVMパーティションを作成、その中に論理ボリュームを追加、続いてLVM全体を暗号化という流れとなる。
そのためLUKSパーティションとその中のボーリュームをマウントするには下記の順で行う。


#復号化とエントリーポイントcryptpatへのマッピング、cryptpatは何でも良い
sudo cryptsetup luksOpen /dev/sda3 cryptpat

# 論理ボリュームを活性化
sudo vgchange -a y

# マウント処理
sudo mount /dev/mapper/ubuntu--vg-root /mnt/vgroot

▽ USBメモリで起動後にchrootで色々修正する方法

  • /dev/sda1はefi
  • /dev/sda2は/boot
  • /dev/sda3はLUKSで論理ボリュームに/とswapが入ってる
sudo su -
cryptsetup luksOpen /dev/sda3 cryptpat
vgchange -a y
mkdir /mnt/disk
mount /dev/mapper/ubuntu--vg-root /mnt/disk
mount /dev/sda2 /mnt/disk/boot
mount /dev/sda1 /mnt/disk/boot/efi
for i in /dev /dev/pts /proc /sys; do mount -B ${i} /mnt/disk${i}; done
modprobe efivars
cp /etc/resolv.conf /mnt/disk/etc
chroot /mnt/disk

▽ 参考

Ultimately, the fix was this:
1. Load into Live USB as “Try Ubuntu without installing”
2. Open a terminal and run sudo modprobe efivars
3. Connect to a wifi network
4. sudo apt-get install efibootmgr
5. sudo efibootmgr -v : this showed me multiple boot managers from all my messing around, refind, ubuntu, windows
6. sudo -c -L “Windows Boot Manager” -l ” \EFI\ubuntu\shimx64.efi” : this is the text label from my BISO created windows boot manager, and the EFI path from the ubuntu boot manager
7. Reboot
Even if I delete the non-existing Windows Boot Manager, the BIOS recreates it.