この記事はTumblrで公開されていました
pc/sdata.cは起動時に、LBA可能なディスクなのか調べる。CHSしかできないなら、何があっても常にCHSでアクセスする。LBA可能な場合、アクセスするアドレスや個数がLBAの範囲内ならLBA、範囲を超えたら(例えばアドレスが28bit以上なら)LBA48を使う。
常にLBA48でアクセスさせたい場合は以下のように変更する。
% echo lba48always on >/dev/sdC0/ctl
これはカーネルロード後の話で、9load以前はpbsによって変わる。標準だとpbs(PBS1と表示される)なのでCHSアクセス。pbslba(PBS2と表示)ならLBAアクセス。