2012年4月21日土曜日

Windows7 + ArchLinux インストールメモ

備忘録として.記憶頼りなので,細かいところは間違ってるかも.できれば必ずWindowsのバックアップ,リカバリディスク作成をやっておいたほうがいいと思う行なっておくこと

初期条件

  • 2012年4月10日時点
  • ASUS UL20FT, RAM: 4GB, HDD: 320GB, CPU: Celeron U3400 1.06GHz
  • Windows7 HomePremium インストール済みノートPC
  • ブートローダはWindowsのものをそのまま使う.
  • 光学ドライブは搭載されていないので,USBメモリからのインストール.

準備

  1. ISOをダウンロード.x86_64アーキテクチャ用を選択.
  2. Universal USB InstallerとかUNetbootinを使ってUSBメモリに起動イメージを書き込む.
  3. ArchLinux用のパーティションを作っておく.ラベルなし,未フォーマットでOK. /bootに100~200MB, swap用に数GB, /に適宜.今回はDドライブを縮小して確保した40GBをArchLinux用として割り当て./bootに200MB, /に38GB, swapに1.8GB. 特に根拠はなし.XPでパーティションを変更するとMBRに影響があるっぽいので,先にバックアップをとること.Gpartedを使ったら,XPからMBRが見えなくなった.

インストール

  1. PCにUSBメモリのみを刺した状態で再起動.ASUSロゴ表示中にF2を押してBIOS画面を表示する."Boot Override"メニューから,起動デバイスとしてUSBメモリを選択する.
  2. USBメモリから起動が試みられるが,初回は失敗する.
    # ln -sf /dev/sdb1 /dev/disk/by-label/ARCH_201108
    としてから,Ctrl+Dで再読み込み.キーマップがjp106になっていないので,適当にShiftとかFnキー併用で_出力を探す.
  3. root@archboot で起動したら,
    # km
    でキーマップをjp106に設定する.コンソールフォントはそのまま.次に
    # /arch/setup
    で,インストールのステップを示す画面が表示される.基本的に上の項目から順番に設定していく.
  4. リポジトリはとりあえずcoreだけで大丈夫.この設定はインストール中にだけ有効.
  5. 以後,Windowsが管理している領域を間違えて指定しないように注意する.
  6. パーティションは準備したものを割り当てる./boot, /用はBootフラグを付けてTypeを"Linux"に設定.swap用はTypeを"Linux Swap"に設定.
  7. マウントポイントを設定する. /bootはext2, /はext4, swapはswap形式でそれぞれフォーマット.後で必要になるので,/boot, /のデバイス名をメモしておく.今回は/bootがsda6, /がsda7, swapがsda8だった.いずれも論理パーティション.
  8. ソースを選択する.今回はbaseとbase-develを選択した.
  9. パッケージを選択してインストールする.sudo, net-tools, netcfg, wireless-toolsを追加.依存関係のため必要となるパッケージは自動でインストールされる模様.
  10. システム設定を行う.ホスト名の設定,/etc/locale.genの"ja_JP.UTF-8"のコメントを外す,ルートパスワードの設定など.
  11. ブートローダのインストールはスキップする.(何もせずにインストールを終了する)
  12. インストールを完了する.ブートローダのインストールはスキップされる.

GRUBの設定

  1. 続いてGRUBのインストールを行う.GRUB - ArchWiki を参考に.
    # mkdir /media/bootloader
    # mount /dev/sda6 /media/boot
    で/boot(=sda6)をマウントして,/media/bootloader/boot/grub/ のファイル群を確認する.stage1, stage2などが無い場合は次のコマンドを使って,手動でファイルをコピーする.
    # cp -a /usr/lib/grub/i386-pc/* /media/bootloader/boot/grub
  2. /media/bootloader/boot/grub/menu.lst を確認する.bootsectionのArchLinuxの項で,"root (hd0,5)"とする.また,kernelの行では"root=/dev/sda7"とする.cf. sda6 → (hd0,5)
  3. GRUBを起動.
    # grub
    まず,起動パーティションが正しく認識されているかを確認する.
    grub> find /grub/stage1
    として,"(hd0,5)"が返ってくればOK. 以下のコマンドを実行してGRUBのインストールを完了する.
    grub> root (hd0,5)
    grub> setup (hd0,5)
    grub> quit
  4. Windowsブートローダ用のファイルを作成する.まずWindowsのCドライブが存在するデバイス,今回は/dev/sda2を/media/winにマウントする.
    # mkdir /media/win
    # mount /dev/sda2 /media/win
    次にGRUBのインストールされているドライブの先頭512バイト,1ブロックをCドライブのArchLinux.binへ出力する.
    # dd if=/dev/sda6 of=/media/win/ArchLinux.bin bs=512 count=1
  5. 再起動する.
    # reboot
    この時点ではWindows7が起動される.C:\ArchLinux.binが存在することを確認する.

Windowsブートローダの設定

  1. この記事のその2を参考に.cmd.exeを管理者権限で起動して,次のコマンドを実行する.
    bcdedit /create /d "ArchLinux" /application bootsector
    返ってきた{...}(=GUID)を記録しておく.
  2. 以下のコマンドを実行して設定を行う.
    bcdedit /set {...} device partition=c:
    bcdedit /set {...} path \ArchLinux.bin
    bcdedit /displayorder {...} /addlast
  3. 最後に引数なしで
    bcdedit
    を実行して,ArchLinuxが追加されていることを確認する.
  4. 再起動する.OSの選択画面が表示されるので,ArchLinuxを選択して,rootでログインできることを確認する.Hello, ArchLinux!!

0 件のコメント:

コメントを投稿