ubuntuをwindowsマシンの第2パーティションにインストールしようとしてハマった

[`evernote` not found]
Bookmark this on Hatena Bookmark
Share on Facebook
LINEで送る

ハマった環境.

  • SSD+HDD搭載ノートPC
  • C:(SSD)へWindows7インストール済
  • D:(HDD)へデータを格納
  • C:とD:それぞれパーティションを切り直して,C:の後ろに/とswapを,D:の後ろに/homeを入れる
  • 新たに導入したOSはUbuntu Server 14.04.2
  • インストーラはUSBメモリを使用./dev/sdaがUSB,/dev/sdbがC:,/dev/sdcがD:
  • expert installでブートローダはLILOを/dev/sdb2のPBRへ導入
  • MBRのブートローダはMBMを導入.USBへMBM.144を焼いてインストールするが,edit partitionでは0がUSB,1がD:,2がC:だったくせに,install mbmでは1を指定するとC:のmbrに入った
    mbmから/deb/sdb2を指定してliloを起こすも,ディスクを読み込めずプロンプトにinitramfsと表示されるbusyboxが始まる.

原因

USBでインストールしたため,HDDのマッピングがうまくできていなかったこと.
by-idとかで指定してくればいいものを,自動ではやってくれなかった.

対策

  • initramfsの状態で,
    (initramfs) ls /dev/sd*
    (initramfs) ls -l /dev/disk/by-uuid/
    (initramfs) mkdir /mnt
    (initramfs) mount /dev/sda2 /mnt # <-インストール時は/dev/sdb2だったが,今は/dev/sda2
    (initramfs) cd /mnt/etc
    (initramfs) /mnt/bin/ed lilo.conf # <-ラインエディタ.viとか見付けられたら,viでもいい.とにかくエディタで修正する
    
  • lilo.confで,
    - append="root=/dev/sdb2  "
    + append="root=/dev/disk/by-uuid/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  "
    
  • lilo.confに従いブートローダの再構築.ただし,/mntにマウントした状態ではうまく動作しない&busyboxだとエラーを吐くので,
    (initramfs) mv /mnt/dev /mnt/d # <- /devを移動してくるための準備
    (initramfs) mv /dev /mnt # <- 後でchrootする/mnt配下にsdXやdisk/by-uuidがないといけない.シンボリックリンクではchroot後に上に辿れないので,移動するしかない
    (initramfs) ls /mnt/bin/*sh # <- bashとか入ってるか確認.hadacchiはbashでやった
    (initramfs) chroot /mnt /bin/bash # <- chroot後のパスで指定
    # sudo /sbin/lilo # <- rootのプロンプトに見えたけれど,sudoしないと動いてくれなかった
    # exit # <- busyboxへ戻る
    (initramfs) reboot
    

私の環境では,これで通常のubuntuが起き上がってくれた.
あとで,他に不整合が起こってないか確認すること.
といいつつ,/devは起動時に中身を再構築されるっぽいので,/dが残っていることさえ気にしなければ,特に問題ないと思う.

2 Replies to “ubuntuをwindowsマシンの第2パーティションにインストールしようとしてハマった”

  1. 結局,ノートPCのHDMIに接続したディスプレイ,DisplayPortに接続したディスプレイを生かそうとして,DisplayPortの方を生かせなかったので,Debianで試すことにした.
    Debianだと,インストーラのUSBに加えて,nicの追加ドライバのためのUSBを挿しても,ちゃんとSSD/HDDがsda/sdbと認識されていて,素晴らしいなと思った.
    まぁ,この先,クソだと言うかも知れんけど,現状ではdebianのが洗練されている雰囲気を感じる.

    1. debianだと,gpartedか何かが走ってパーティショニングするところで,ext4ファイルシステムを作ろうとしてフリーズした.
      こりゃダメだ な

Comments are closed.