2015年2月8日日曜日

Arch Linux インストール(OSインストール編)| UEFI, GPT, XFS, archlinux-2015.02.01-dual.isoでインストール

インストール関連記事
インストール関連記事はArch Linuxインストールのページにまとめてあります。それぞれ好みのインストールモードに合わせて参照してください。

はじめに
2014年にインストールした頃と微妙に変わっているところがある。大きな変更は、インストールメディアからArch Linuxを立ち上げるときに、UEFIモードではセキュアブートで立ち上げるようになっている。そのため、インストール前に新たな作業が加わっている。あと、Intel CPUのucodeのあたりも変わっている。

今回のインストールは、UEFIで行う。前回2014年に行った時は、UEFIモードでインストールはできたがその後のブートディスクのつなぎ変えでOSを起動できなくなった。そのため、UEFIでインストールしたArch Linuxの使用は諦めていた。

今回、いじってみたらUEFIで起動できなくなっていた原因がわかったので、まとめておく。UEFIモードの起動にはUEFI BIOSの設定が必要だが、使っているマザーボードに依存するので、Arch Wikiに詳しい設定が載ってなく苦労した。

UEFIモードとは
UEFIはBIOSの代替で、最近のマザーボードはBIOSの代わりにUEFIが入っている。UEFI BIOSとも呼ぶ。セキュアブートが可能になったりして、BIOSより高機能なファームウェアになっている。基本的にBIOSモードよりUEFIモードのほうが、高速で起動できるらしい。Arch Linuxの場合、BIOSモードでも起動時間が短いので、UEFIモードにしたからといって起動が早くなったとはあまり感じないが。

セキュアブートとは
ブートローダなどが、OSが起動する前にマルウェアを起動してしまうことなどを防ぐ仕組み。UEFIにおいてセキュアブートが有効になっていると、Microsoftの署名をもったコードしか実行できなくなる。

Arch Linuxのインストール
isoファイルからイメージディスクを作成
https://www.archlinux.org/download/にあがっているミラーサイトから、archlinux-2015.02.01-dual.isoをダウンロードし、イメージディスクとして書き込む。Linuxの書き込みソフトのbraseroを使えば、イメージディスクを作成できる。braseroを使う場合は、「イメージの書き込み」から、「書き込むディスクイメージの選択」でダウンロードしたarchlinux-2015.02.01-dual.isoを選んで、書き込む。これでインストールメディアが出来上がる。




2015年1月12日月曜日

Arch Linux起動時にスプラッシュ画面でエラー | Failed to start Load/Save Screen Backlight Brightness of backlight:acpi_video0

Arch Linuxを起動させると、スプラッシュ画面でFailed to start Load/Save Screen Backlight Brightness of backlight:acpi_video0のような内容のエラーが出ていた。赤く[FAILED]と出ていたので、調べてみることに。アップデートで、また何か設定が変わったのか?

とりあえず、dmesgで確認したが、Backlightに関連するようなエラーはない。なので、systemdのログを調べてみることに。
$ jornalctl

...
systemd-backlight[342]: Failed to get backlight or LED device 'backlight:acpi_video0': No such file or directory
systemd[1]: systemd-backlight@backlight:acpi_video0.service: main process exited, code=exited, status=1/FAILURE
systemd[1]: Failed to start Load/Save Screen Backlight Brightness of backlight:acpi_video0.
systemd[1]: Unit systemd-backlight@backlight:acpi_video0.service entered failed state.
systemd[1]: systemd-backlight@backlight:acpi_video0.service failed.
...

2015年1月11日日曜日

HDDを新たに追加 | GPTパーティショニング, XFSフォーマット, 4KiBセクタ, Advanced Format Technology

Extフォーマットのエントリは書いていたが、最近メジャーなディストリビューションでXFSフォーマットが流行っているので、試してみた。いずれは、ブートドライブもXFSフォーマットに移行したい。ただ、Arch WikiのXFSのページが短く情報量が少ないのが、若干心配。

あと、今までHDDのセクターサイズとか意識せずにパーティショニングとかしていたので、セクターサイズに合ったパーティショニングができているかきちんと確認する意味も込めてやってみた。

HDDのつなぎ変え
あらかじめ使っていたHDDを外して、新しいHDDにつなぎ替えるときは、fstabで外すHDDの設定をコメントアウトしておく。
# vim /etc/fstab

...
# UUID=xxxx... ←#をつけて、コメントアウトしておく。
...

もしコメントアウトし忘れると、OSがGUIモードで立ち上がらない。この時は、rootでログインして、fstabを編集、rebootでOSを立ち上げることになる。ことになるというか、忘れていたので、CUIでfstabを編集することになった。

OSをシャットダウンして、新たに追加したいHDDを繋いで、PCを起動する。新しく繋いだHDDのデバイスファイル名を確認する。デバイスファイルに存在していて、mountで表示されないのが新しく繋いだHDDのデバイスファイル名ということになる。以下の例では、sdeが新しいHDD。
$ ls -l /dev/ | grep sd

...
brw-rw----  1 root disk        8,  48 12月 22 22:06 sdd
brw-rw----  1 root disk        8,  49 12月 22 22:06 sdd1
brw-rw----  1 root disk        8,  64 12月 22 22:06 sde
...

マウントされているデバイスを確認。
$ mount | grep sd

...
/dev/sdd1 on /home/username/Disk/3TB-5 type xfs (rw,relatime,attr2,inode64,noquota)
/dev/sdb1 on /home/username/Disk/3TB-1 type xfs (rw,relatime,attr2,inode64,noquota)
...

以下で、フォーマットすることになるので、フォーマットすべきHDDのデバイスファイル名を間違えないこと。

Crucial m4 CT256M4SSD2のファームウェアアップデート

かなり昔の話だけど、Crucial m4 CT256M4SSD2のファームウェアバージョンが0009以下の場合、使用時間が5184時間を超えるとSSDが認識されなくなるらしい。Windows向けのアップデートツールもあるが、Windows向けツールを使わないでアップデートする方法をまとめておく。

Crucialのウェブから、ファームウェアをダウンロードする。Live CD的なバージョン「Manual Boot File for Windows and Mac®」が公開されているので、これをダウンロードする。



BraseroでCDにイメージとして書き込む。




PCをシャットダウンして、ファームウェアを書き込んだCDをブートドライブとして選んで、ファームウェアアップデートツールを起動させる。起動させると以下のようなプロンプトが出てくる。

Arch LinuxでSSDを使う | Linux, SSD, fstrim, gdisk

Arch LinuxでSSDを使う上で注意すべきことをまとめておく。SSDを使う上で、ブロックサイズやTRIMなどに注意する必要がある。

SSDのパーティショニングとフォーマット
ページサイズ・ブロックサイズの確認
HDDと同じように、ページサイズに合わせてパーティショニングする必要がある。メーカーの製品情報からページサイズを調べてから、パーティショニングする。ところが、現在使っているCrucial m4 CT256M4SSD2のページサイズを調べてみたが、どこにも情報がなかった。また、最近のパーティショニングツールは、最適なセクターサイズでパーティショニングしてくれるらしいので、特にセクターサイズ等をいじらずパーティショニングすることにした。

/sys/block/sdX/queue/physical_block_sizeから調べる方法もあるが、この値は当てにならないという情報も。参考程度に、メモしておく。

物理ブロックサイズを調べる。(Crucial m4 CT256M4SSD2の場合)
$ cat /sys/block/sdX/queue/physical_block_size

512

論理ブロックサイズを調べる。
$ cat /sys/block/sde/queue/logical_block_size 

512


SSDのパーティショニング
例えば、fdiskやgdiskを使えばページサイズにあったパーティショニングを行ってくれるらしい。cdiskは使わないこと。GPTでパーティショニングしたほうが良いので、gdiskを使うのがベストだと思う。gdiskを使ったパーティショニングは以下のとおり。