読者です 読者をやめる 読者になる 読者になる

しーくさんのUp & Down - Thinking Notes

更新頻度はあまり高くないです。プログラミングやLinuxなどのことについてや、果てはゲーム記事まで。

Archのsyslinuxブートローダの使用(マルチブート環境:Linux用ディスクのMBR修復=Manual Install)

Arch Linux

syslinux(ブートローダ)をHDDにどうしても使いたいとき、(通常はHDDへの設置はできないみたいだけど)
ArchLinuxなら、デフォルトで推奨されててできるようになってるんだけど、(専用コマンドというかスクリプトあるし)
仕組みはよく知らんけど、HDD先頭のMBRに無理やり(オフセットとフラグかしら?)書き込んで(誤魔化して)実現してるみたい。
んで最近のArchLinuxインストールしたあとでブートローダをsyslinuxにしてる場合で、
もし間違って他のブートローダなどでディスク先頭のMBRを上書きしてしまったり、何か操作(これは意図的だが)して消してしまったあとでローダにsyslinuxを使いたい場合、

dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/mbr.bin of=/dev/sda

とすれば復活する。
# ArchLinux公式ウィキより。参考までに。 https://wiki.archlinux.org/index.php/Syslinux#MBR_Partition_Table]
# 単純なMBR用なので、MBR-GPTの場合はその下あたりにまた説明があるので必要なら目を通したほうがいい。

その前後でインストールしてあるArchLinuxから#syslinuz-install_update -iam とかやればだいじょぶみたいです(Gentooからchrootしてやってもだめだった。Arch起動するか、ArchのインストールCDからarch-chrootしないとダメっぽい、対策考えたい)
(でもまあそれで/dev/sda1の自動でインストールしてくれる)
Gentooにmbr.binに当たるものが用意されてるかはまだ確認してない。
※補足:今確認したら、Gentooにも/usr/share/syslinuxに3種類用意されてた、へえ・・・!


ただ、syslinuxのモジュールに色々あるから便利な気がしてそうしたいだけっていうw


それとGentooでArchのようなsyslinux-install_update的なものに相当するスクリプトorコマンドを用意できないかどうか検討中

memtest86+とかもインストールして設置するといいかも?あんまり使わないだろうけどw