2014/12/31

Windows7とArchLinuxのデュアルブート(微妙に失敗…)

Windows7とArch LinuxをBIOS-MBRでデュアルブートした時のメモです。
パーティションの作成以外は基本的にArch wikiのビギナーズガイドに書かれていることなのでwikiの補完程度に使ってください。

成功した方法が「Windows7とLinuxのマルチブート - マニアックなメモ帳SS」にあるのでこちらを見ることをおすすめします。


今回使ったマシンはノートPCで
 富士通 LIFEBOOK AH56/GN
 Intel Core i7-2670QM
 メモリ 8GB
 HDD 500GB
です。詳しくはこちらを見てください。
また、インストールメディアはarchlinux-2014.12.01-dual.iso(Arch Linux - DownloadsからDL)をUSBWriterでUSBメモリに書き込んだものを使いました。

Linux→Windowsの順のインストールは難しいらしいので、Windows→Linuxの順でインストールします。
ノートPCだと、買ったときにWindowsがインストールされているのがほとんどだと思うので、そのまま作業を進めてしまいましょう。
デバイスの名前等、私の環境下でのコマンドが多々出てきますが、適宜自分の環境のもので読み替えてください。
(コマンドのところで変に色がついていますが、私の勉強不足です。気にしないでください。(´・ω・`))
  1. HDDの準備
  2. Windows7でコンピュータを右クリック→管理 等で「ディスクの管理」を開く。
    (MBRはパーティションを4つ(だったと思う…)しか作れないので、すでに4つある場合はデータをどこかに移動させて、パーティションを削除。)
    Cドライブを選択し右クリック→ボリュームの縮小で未割当の領域を作る。
    シャットダウンなり再起動なりしてBIOS設定画面を開く。
    USBメモリを起動順の一番上にする。
    また、AH56/GNはBIOSに高速起動の設定があります。これがオンだとLinuxが起動しないことがある(というかしない)のでオフにする。
  3. Archの下準備
  4. loadkeys jp106
    setfont Lat2-Terminus16
    デフォルトだと英語くらいしか表示できないらしく、何かの拍子で日本語とかが表示されたときに豆腐(□)で表示されて何が書いてあるかわからなくなるらしいので、安全策としてフォントを設定。
    次に一応ネット接続の確認をします。
    ping -c 3 www.google.com
    有線でネットに接続している場合は応答速度とかが出力されると思います(やってないからわからん)。この場合、次の手順に進んでください。
    無線の場合おそらくunknownとか出てきて、応答速度とかは出力されないと思います(ネットに繋がってないってことです)。
    無線で繋ぐために、まずワイヤレスインターフェースの名前を調べます。
    iw dev
    -------------------------------------------------------------------------------------------
    phy#0
     Interface wlp11s0
     ifindex 3
     wdev 0x1
     addr 74:(ry
     type managed
     channel 10(ry
    
    といった感じのがいくつか表示されます。↑のようにInterfaceのところがwで始まるのがワイヤレスインターフェースらしいです。
    次のコマンドで無線でネットワーク接続できます。
    wifi-menu wlp11s0
    SSIDの選択、接続の名前、セキュリティキーの入力があります。
    もう一度pingを確認します。
    ping -c 3 www.google.com
  5. パーティションの作成
  6. partedを使います。
    parted
    まず今のHDDがどうなってるか確認します。
    print
    -------------------------------------------------------------------------------------------
    Number Start  End  Size  Type  File system Flags
    1  1049kB 106MB 105MB primary ntfs   boot
    2  106MB 285GB 285GB primary ntfs
    
    という感じになっていると思います。
    最後のパーティションのEndのところを確認します。この場合285GBですね。
    まず拡張領域を作ります。
    mkpart extended 285000 500000
    なんか聞かれると思うのでyesにします。(たぶん、これするとデータ消えるよ良いよね?みたいなことだと思う。)
    次にArchをインストールする論理領域を作ります。
    mkpart logical ext4 285000 500000
    なんか聞かれるのでyes、ignore(で、いいと思う…)と答えていきます。
    最後にもう一度printをして、ちゃんとパーティションを作れたか確認します。
    print
    -------------------------------------------------------------------------------------------
    Number Start  End  Size  Type  File system Flags
    1  1049kB 106MB 105MB primary ntfs   boot
    2  106MB 285GB 285GB primary ntfs
    3  285GB 500GB 215GB extended   lba
    5  285GB 500GB 215GB logical ext4
    
    Numberのところが3の次が5になっていますが、これで正常です。extendedとかlogicalにするとなんちゃら~でこうなるってどこかで見た。
    qを入力してpartedを終了します。
    今回はArchを1つのパーティションにインストールします。一つしか作らないなら拡張領域とかいらないかもしれないですが、今後パーティションを増やす必要が出てくるかもしれないので、拡張領域の中にArchをインストールします。
  7. Archのインストール
  8. 先ほどとは別のコマンドでもう一度パーティションを確認します。
    lsblk -f
    
    すると、5番目のパーティションのFSTYPEがex4になっていませんでした…
    ext4にフォーマットします。
    mkfs.ext4 /dev/sda5
    で、もう一度確認します。
    lsblk -f
    -------------------------------------------------------------------------------------------
    NAME FSTYPE LABEL UUID MOUNTPOINT
    sda
    ├sda1 ntfs  ♦♦♦♦ (ry
    ├sda2 ntfs    (ry
    ├sda3
    └sda5 ext4    (ry
    sdb
    (ry
    
    ext4になりました。sda1のLABELが♦で表示されていますが、おそらくwindowsが持っている「システムで予約済み」が文字化けしたんだと思います。
    sda5にインストールするので、こいつをマウントします。
    mount /dev/sda5 /mnt
    インストールの前にミラーの設定をします。
    nano /etc/pacman.d/mirrorlist
    ↓やPageDownキーで「Score: x.x, Japan」となっているところを探します。
    ## Score: x.x, JapanのところでCtrl+Kを2回押します。これで、Scoreの部分とその下のアドレスのところをコピーできます。
    PageUpキー等で一番上に移動し、Ctrl+Uで一番上に貼り付けます。
    日本のサーバーはtukubaとjaistの2つだけだと思います(12/1リリースだとtsukubaはScore:1.8、jaistはScore:18.2でした)。
    tukubaのサーバーは不安定だからjaistの方を上にした方が良いってどこかで見た。
    Ctrl+Xで終了。上書きするか聞かれるのでyes。次にファイル名を聞かれる。変えなくていいので、そのままEnterで確定。
    nanoの終了の時は同じ操作をするので以降の終了動作の表記は省略します。
    ようやくArchをインストールします。
    pacstrap /mnt base base-devel
    インストールが終わったらfstabを生成します。
    genfstab -U -p /mnt >> /mnt/etc/fstab
    wikiによると、このfstabを生成したら必ず確認をしろとのこと。
    見ても意味わかんないんだけどね(´・ω・`)
    nano /mnt/etc/fstab
    -------------------------------------------------------------------------------------------
    #sda5
    UUID=(ry / ext4 (ry 0 1
    
    と、いう感じでインストールした場所が書かれていたらいいんだと思います。
    どこかで最後の1が重要とか見た記憶が…
  9. インストール後の設定その1
  10. インストールしたシステムに入ります。
    arch-chroot /mnt /bin/bash
    root@archiso ~が[root@archiso /]にかわると思います。
    ロケールの設定をします。
    nano /etc/locale.gen
    en_US.UTF-8 UTF-8とja_JP.UTF-8 UTF-8の#を削除。
    locale-gen
    echo LANG=en_US.UTF-8 > /etc/locale.conf
    export LANG=en_US.UTF-8
    
    再起動後にキーボードとフォントを今の設定で読み込むようにします。
    nano /etc/vconsole.conf
    -------------------------------------------------------------------------------------------
    KEYMAP=jp106
    FONT=Lat2-Terminus16
    
    時間の設定をします。
    ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
    hwclock --systohc --utc
    
    ホスト名の設定をします。
    echo ArchLinux > /etc/hostname
    nano /etc/hosts
    -------------------------------------------------------------------------------------------
    127.0.0.1 localhost.localdomain localhost ArchLinux
    ::1  localhost.localdomain localhost ArchLinux
    
    このhostsをどうすればいいかよくわからなかった…
    たぶん↑のようにすればいい。
    この場合ArchLinuxという名前で設定されるんだと思います。
    無線でのネット接続をする設定をします。
    pacman -S iw wpa_supplicant
    pacman -S dialog
    pacman -S wpa_actiond
    systemctl enable netctl-auto@wlp11s0.service
    
    rootのパスワードを設定します。
    passwd
    次にブートローダーを入れます。
    こいつをどう入れればいいのかわからなかったのでwindowsのブートローダーが上書きされてしまいました…
    pcの環境ごとに実行するコマンドが異なるので、wikiをよく見てください。
    とりあえず私が実行したコマンドを書いときます。
    pacman -S grub os-prober
    grub-install --target=i386-pc --recheck /dev/sda
    
    ちなみに、私のように失敗するとブートローダーの編集が必要になるので気をつけましょう
    grub-mkconfig -o /boot/grub/grub.cfg
    grub.cfgを自動生成します。
    exit
    でシステムから抜けて
    reboot
    で再起動
  11. インストール後の設定その2
  12. ログインネームはrootでパスワードはさっき決めたやつ。
    rootじゃないユーザーを作ります。
    useradd -m -g users -G wheel -s /bin/bash wakame
    passwd wakame
    
    作ったユーザーでsudoが使えるように設定します。
    visudo
    %wheel ALL=(ALL)をアンコメントします。
    viでの編集になります。操作方法はググってください。
    nanoで開く方法もあるようですが設定が大変なようです。素直にviの操作方法を見たほうがいいです。
    pacmanの設定をします。
    nano /etc/pacman.conf
    -------------------------------------------------------------------------------------------
    [multilib]
    Include = /etc/pacman.d/mirrorlist
    [archlinuxfr]
    SigLevel = Never
    Server = http://repo.archlinux.fr/$arch
    
    [multilib](64bit環境での32bit互換のリポジトリ)のところをアンコメントする、[archlinuxfr](yaourtのリポジトリ)は付け足してください。
    pacman -Syy
    pacman --sync --refresh yaourt
    
    でパッケージの更新とyaourtのインストール(確か…)ができます。
    音を出す設定をします。
    pacman -S alsa-utils
    alsamixer
    
    矢印キーでMasterを1以上にするとミュートが解除されます。
    ほかのところはお好みで。Escでalsamixerを終了できます。
    GUIのインストール
    pacman -S xorg-server xorg-server-utils xorg-xinit
    多分3Dドライバどうするって聞かれてる…きっと
    nvidiaのグラボ積んでたら1以外のを選んでいいのかな?(´・ω・`)?
    積んでない人は1のmesaしか選んじゃいけないと思う…多分…
    pacman -S mesa
    で3Dサポートを入れます(Xを入れるときに一緒に入ってるかも)。
    次にGPUにあったビデオドライバを入れます。
    lspci | grep VGA
    -------------------------------------------------------------------------------------------
    00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
    
    ということで、Intelのビデオドライバを入れます。
    pacman -S xf86-video-intel
    自分が何をインストールすればいいのかわからない時はArch Wiki - Xorg:ドライバーのインストールをみて確認。
    タッチパッドやタッチスクリーン等を動かすドライバを入れます。
    pacman -S xf86-input-synaptics
    不安なのでXのテストをします(wikiにもある通り任意です)。
    pacman -S xorg-twm xorg-xclock xterm
    startx
    
    無事表示されたら左のウインドウにexitと入力するか、ウインドウを閉じるとXが終了したと思います。
    デスクトップ環境を入れます。個人的にCinnamonがおすすめです。
    pacman -S cinnamon
    Cinnamonのディスプレイマネージャと言ったらMDMですよね。
    yaourt mdm-display-manager
    PC起動時にMDMが起動するようにします。
    systemctl enable mdm.service
    MDMの設定は別記事で…
    ちゃんと動くか不安ですが再起動しましょう。
    reboot
今回はswap領域を作成せずにインストールをしました。これは別記事で紹介するswapファイルを使おうとしたためです。

いきなりArchをインストールする前に、VirtualboxやVMware player等で仮想マシン環境にインストールの練習をすることをお勧めします。
私がVirtualboxで遊んだ経験だと、うまくいかないことがあるのはXを表示するところだと思います。
たぶんビデオドライバが入ってないか、合ってないんだと思います。(Virtualboxはvirtualbox-guest-utilsをpacmanを使ってインストールし、システムの起動時にvirtualboxモジュールをロードするようにします。あと、virtualboxでもmesaは入れておきましょう。)

0 件のコメント:

コメントを投稿