2way boot (?) uefi と legacy
usbから起動できる linux(ubuntu) を持っておけば便利だが、ここのところuefiで起動するものが増え従来のbios(mbr)から起動するものが混在していて、biosから起動するだけのものではいちいちPCの設定を変えないと行けないのはめんどくさい。
そこで両方で起動できるのがいいと思いisoイメージをUSBに焼いたが、これではプログラムとか変更はできるが保存ができない(パーティションを分ければできなくもないが...)ので、なにかいい方法はないかと探したらあった。
窓の外には: How To UEFI and BIOS Bootloader on USB Flash Drive
と、ここのページで紹介されていたので早速作った。
biosから起動するのはどのPCでもいいが、uefiではPCによってHDDやUSBの認識順番が違うらしく、起動できるのとできないのがあった。イメージを焼いたUSBならできるのだから、これでもできるはずと思い、grub.cfgを変更してuuid(vfatのは16進数で8桁)からパーティションを探すようにしたらうまくいかない。grub rescue ばかりなってしまう。uefiの仕様書を読めばなにかヒントが得られるかもしれないがめんどくさいのでやめる。
今度は逆に先にuefiで起動しインストールする。パーティションは efi を100MBほどで作りスワップとメインのパーティションを作りインストールする。インストールできたらもう一度インストールメディアをbiosから起動し、grubをインストールする。先ほどインストールしたUSBを適当な場所にマウントしターミナルから
$ sudo grub-install --root-directory=/mount-point/ /dev/sdx
とすればgrubがインストールされ他のPCからでも起動できるようになる。
あとはリポジトリを追加するなりソースを落としてコンパイルするなりして、grub customizerをインストールして余計なエントリーを消すだけ。
bootx64.efiをshimx64.efiで置き換えるとセキュアブートにも対応できるかも。
参考
dynabook で efi ブートができた。。。。
opensuse 13.2 のbeta 版が出ててので試してみようとしてインストールしてみた。
dynabook r732 のhdd 1TBをSSDに換装して、なおかつそのhdd をBRDを外してそこにはめて使っている。そのSSDはMBRで、HDDはGPTで使っていて、SSDは256なのでパーティションは4つで十分だが、 hddはwindows8が入っていたものなのでGPTから変更できない。以前opensuseをEFIでインストールした際に起動できなかったので仕方 なくEFIを使わずにインストールして使っているが、beta版を入れるためにhddに50gbほどスペースを空けたがパーティションが前から7番 目... mbrからじゃ起動できないネw 実際は他のLinuxのgrub2を使えば起動できるんだけど(笑)
efiでインストールするとやっぱり起動できない。でもUSBのEFIからは起動できるからHDDからでもいけるんじゃないかと思い、いろいろ試してみたらできたのだ( ゜o ゜)
EFIパーティションに作られたopensuseファイルの中のものをBOOTフォルダに移してgrubx64.efi を bootx64.efiしてリブート。これで起動出来た。
他のdynabookでうまくいくかどうかは不明。
デュアルブートをしようとしてたのにできていない。
windows8がgrubメニューに出てこない、なんでだろう。
suse 13.1は起動できるのに。
HDDはやっぱりおそいな。
linux の grub2によるデュアルブートができた\(^o^)/
winのefiをそのままにして linux のefiをインストールしてそのままだとWinが起動されるから、USBブートなりで起動して efi パーティションのEFI/Microsoft/Boot/bootmgfw.efiを適当な名前に変えて再起動すると grub2 が起動するがwinを起動させようとすると、当然上の .efi ファイルが見つからないと言われる。linux を起動して /boot/grub2/grub.cnf の中からwin のチェインブートする .efi ファイルの記述があるが名前を変更してあるので、こちらも変更した通りに変更する。すると grub2 からも起動できるようになる。
opensuse で試したものなので他のディストリでは、 /boot/grub2/grub.cnf の場所が異なるかもしれない。
今回は dynabook ではなく hpに win 8.1 が入ってる状態に最近リリースされた opensuse 13.2 をインストールしたが、dynabook でもできると思う。
dynabook のほうは evergreen project なのでアップデートする予定はない。
CentOS で kvm
CentOS 6.5 でKVMを構築しようとしブリッジで接続しようとして仮想マシンをインストール仕様として設定を完了させて、いざっ。
kvm の初期化に失敗。
エラーをググっても解決しないと思ったらVirtualBox を起動しているのが原因だったというねww。
CPUの問題なのか?
もっとコア数の多いCPUではどうなるのだろか、試してみたい。
centos で録画鯖構築
いろんなブログなどを参考にcentos 6.5 + px-w3pe +epgrec で録画鯖を構築。
テストの段階でひかかってしまったので。
OUTPUT=test.ts CHANNEL=20 DURATION=30 TUNER=0 MODE=0 TYPE=GR /var/www/html/epgrec/do-record.sh
カレントディレクトリにtest.tsというファイルができ再生できれば成功。
上記のコマンドでテストをしたがどちらも失敗。
Cannot tune to the specified channel
とのエラーが出る。
はじめこれをroot権限で実行するとちゃんと録画出来ていたので気づかなくて、なぜ録画失敗するのかわからなかった。
ぐぐったところ、2chで以前に同じような人がいてチューナーのデバイスパーミッションが原因のようでapacheユーザにも利用できるように/devにあるファイルを変更したところテストも成功し問題なく録画出来た。
先人様ありがとうございます。
cpu driverの変更
openSUSE 13.1 64bitのskypeのインストール
公式サイトからスカイプをダウンロード、インストール
追加のlibrary等をインストール
# zypper install -y pavucontrol alsa-plugins-pulse-32bit libv4l-32bit
ショートカットを作成し、プロパティからコマンドを以下のように変更
PULSE_LATENCY_MSEC=60 LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype %U
これで音が出るようになる。
参考サイト : http://en.opensuse.org/SDB:Skype
Windows 8 (プリインストール)とLinuxのデュアルブート
Widnows 8 がプリインストールされた Pavilion Ultrabook 14-b111TUを購入したのが、去年のゴールデンウィークあたりだったと思う。
メモリが8GB載ってるし送料込みで5万5千円ぐらいでディスプレイが13-14インチだったということでlinuxの勉強用にと購入した。
そのぐらいの時期にはwindows 8とlinuxのデュアルブートに関する情報が少なく、メインPCを一度リカバリしなければならない状態にしてしまったので、もう一台勉強用がほしいと思っていた。(この頃はメインPC一台しか持っていなかった)
届いたので早速デュアルブートしようとか思いやってみたのだがうまくいまず...
つい最近まで色々試してみていたり。
BIOSの設定でRegacy modeをオンにしセキュアブートも無効にし、GPartedで C ドライブを100GBに縮小してその後ろにUbuntu/openSUSEをインストールしたが、Windowsのパーティションが前に4つあったので起動できず...
Ubuntuはパーティション設定の時に何か1MBほどのパーティションを作りそこにgrubを追加したら起動はできたものの、パーティションを変更すると起動できなくなりgrubの再インストールをしなくてはならないがうまくいかず...
何故だったんだろうか?
クリーンインストールをすればいいだけなのだが、マルチブートにするつもりなので別のOSをかえるたびに再インストールするのは面倒だから却下w
WindowsのとLinuxのEFIパーティションを共通のものにしインストールすると、見事起動できた・・・のだが、プリインストールマシンの仕様なのかlinuxをデフォルトのOSに設定することができず、起動するたびにboot managerを開くのは面倒なのでefibootmanager というコマンドを叩くも次回に起動するOSを選択すること以外は反映されず...
毎回コマンドを叩けばいいと言われそうだがWidnows を起動したときはこれができないので、以下略
いろいろ試しているうちにUEFIの起動に対応していないLinuxを使いたいとなったのでやはりこの方法をとることになるが、どうすれば起動できるかわからないパーティションの数が減れば起動できると思い、リカバリ後のこのPCのUEFIとC ドライブ以外のパーティションを消してGPartedで前に寄せるとWindows が起動できなくなってしまった orz
そこでddコマンドでパーティションイメージを作り、後方に書き込む(パーティションの移動ができなかったため)とマルチブートができた\(^o^)/
以下その方法
1. /dev/sda1-4のパーティションをddコマンドでイメージ化
その際無駄な領域を読み取るのは時間の無駄なので先にCドライブの大きさを極限まで小さくしておく。
2. 次にディスク全体をGPTを書き込みしBIOSで起動するLinux用のパーティションを作成(/用)
3. それが終わったらそのパーティションの後ろに1で作成したイメージを書き込む
5. それぞれのLinuxをインストール
今のパーティション構成は
/dev/sda1 : Backtrack
/dev/sda2 : Kali Linux
/dev/sda3 : Slackware
/dev/sda4 : Ubuntu
/dev/sda5 : 回復用パーティション(win)
/dev/sda6 : EFI
/dev/sda7 : win reserve このパーティションは不明
/dev/sda8 : windows
/dev/sda9 : openSUSE
/dev/sda10 : データ共有
/dev/sda11 : swap
となった。
OSがこんなにあってどうするんだという気分になってしまうが。
でも結局起動時にbootmanager を開かないといけないがそこは妥協した。
p.s.
backtrackの無線LANが使えない(最新のcompat-driver)