2018年01月21日

Win10の呪いを解く(その4)そして伝説へ

一応、grub4dosから好きなOSを起動できるようになり、実質上の制御はユーザーの手に戻ってきた。
しかし、BIOS(UEFI)は起動できないままだった。
ところが今日、ボスキャラと戦うわけでもなく、教会で呪いを解いてもらったわけでもないのに、いつのまにかF2やDELでBIOSが起動するようになっていた。
いつもと違うことをしたと言えば、xenialpup64のDVDを入れて起動したことぐらいか。
数日前はDVDからの起動もアクセスはあるもののスルーで、今日はなぜか起動できて、調べてみたらBIOSも起動できるようになっていた・・・というもの。
もう一度、同じ状況を作って検証したいところだが(バックアップがあるからできる・・・)、かなり不毛なのでやめておく。
推測される原因は
(1) 再起動やシャットダウンの組み合わせがあり、偶然その操作があって、復旧した
(2) いつものように、MSがこっそりコードを書き換えた(再起動時の「電源を切らないでください」の表示はなかった)
(3) xnialpup64がDVD起動時にマザーボードのUEFI設定を変更してくれた

ぐらいだろうか。できれば(3)が勇者の剣がラスボスの最後の一撃となったみたいで、かっこ良くて好みなのだが。
と、言うわけで、勇者タロは新たな冒険の旅にでるとしよう。
posted by タロ兵衛 at 18:57| Comment(0) | TrackBack(0) | windows10

2018年01月13日

Win10の呪いを解く(その3)まとめ?

windows10にBIOSまで乗っ取られていて、レガシに戻れない場合のpuppyのデュアルブート手順。
いつもより自己責任な記事になってます。puppyはXenialPup64です。
この通りやって必ず成功する保証はありません
失敗したら、puppyどころか、windowsも起動しなくなります。
また、記事ではpuppyのインストールは省略しているので、ある程度puppyのインストールのスキルが必要です
要約
WindowsはブートするとOS本体を起動する前に、BIOS(UEFI)から勝手に操作されるのを阻止するため、F2キーやDELキー、ブートデバイスを変更するキー操作を無効にするようです(触った感じでは)。これによりウチのPCはCDからpuppyが起動できなくなりました。
そこで、HDDの先頭にあるブートローダーを一旦壊して、CDからの起動を復興し、この隙にpuppyをインストールしてしまおうと言うもの。
そして正確には呪いは解けていない

準備
1) HDDのパーティションがMBRであることを確認する(GPTでないこと)
2) windowsの入っているHDDのコネクタを抜いて、puppyがCDから起動できるか確認する
3) Puppyで動くバイナリエディタを準備する(私はダウンロードを忘れたので、即興でアプリ組んだ)
4) USB-SATA変換器を用意する(私は手元にあった上海問屋の980円のやつ)
この段階で、何らかのトラブルが発生した場合は、もとどおりにして、諦めてください

windows側作業
1) 「再起動」して(シャットダウンはダメ)、windowsの更新がないか確認する。始まってしまったら、更新が落ち着いてから再度行う(私のとこでは偶然始まってしまった)
2) バックアップを取る(のーてんきな私も流石にバックアップした)
3) デフラグできればする(私はしなかった)
4) もう一度再起動してBIOSのスプラッシュ画面が出たあたりで電源コードを抜く。

puppy側作業
1) HDDをSATAからUSBアダプタに接続する(まだPC側のUSBコネクタには接続しない)
2) CDなどからpuppyを起動する
3) HDDをPCのUSBに接続する
4) DD でHDDの先頭の512バイトをファイルに落とす(mbr.imgとします)
5) 別ファイルにコピーを作る(new.imgなど)
6) バイナリエディタなどで、new.imgの先頭から446バイトをゼロクリアする(ブートローダーを壊す)
7) ここからは引き返せないので、覚悟を決める
8) HDDの先頭にDDでnew.imgを書き込む
9) puppyをシャットダウンし電源を切る
10) HDDの接続をUSBからSATAに挿し替える
11) PCの電源を入れ、再度CDなどからpuppyを起動する
12) オリジナルのmbr.imgをDDでHDDの先頭に書き込み元どおりにする
13) puppyをUNIVERSALイントーラからフルーガルインストールする。MBRも書き換える(pupsaveはまだしなくても良い。私はあとからやった)

再起動すると、GRUB4DOSのブート選択画面が表示されて、WindowsもPuppyもブートできるはず
以上で私が行ったwindows10のインストール済みHDDへのpuppy Linux のインストール手順です

GPTではできない旨の記述がありますが、sda1を専用アプリで広げることで、他のPCでは成功しています。疲れたのでこの記事はパス
posted by タロ兵衛 at 01:28| Comment(0) | TrackBack(0) | windows10

2018年01月08日

Win10の呪いを解く(その2)

そもそも我が家で起こったWin10の呪いとは
・CD/DVDから起動できなくなった
・ブートドライブが指定できなくなった
・BIOS(UEFIだが)が起動できなくなった
これが徐々に進行した。この結果、このPCでpuppyは起動できなくなってしまった。
正しい対処は、Windows内からUEFIを起動できるようにし、ファストブートとかセキュアに関連する設定を無効にする(レガシな状態にする)のだが・・・、このメニューがでてこない。
ググれば、古いマザーであるらしい。
Windowsしか走らないマシン。MSの呪いとしか思えん。
「ハハハ。Linuxを走らせるPCはこうしてくれるは!!ハハハハ」
みたいな。
という訳で、勇者タロはpuppy起動の剣を求めて遥かな旅に出たのであった。
---
最初の街の占い師に聞くと
「ハードディスクをすべて取り払えば、BIOS画面が復活するであろう」
なるほど。ボスキャラの居ないすきに書き換えちゃえばいいんだ。
・・・やった!BIOSが現れた!片っ端からセキュアを封印しレガシに設定。
しかし、ボスキャラが戻ると(HDDを接続すると)、何事もなかったかのようにモンスターは目覚め、「F2」の剣も「esc」の呪文も「del」の必殺技も全く歯が立たなかった
---
次の国の王様に聞けば、
「この国に伝わる伝説では肉体から魂を抜き出し(HDDを取り出して)新たな命を吹き込み(puppyをインストール)勇者は復活した」
なるほど。外付けドライブにして、PCの外で入れてしまえと。

ここは道具屋です。
どれをお求めですか?
 やくそう
 キメラのつばさ
⇒USB-SATAアダプタ

これで、CDでブートしてから、USBドライブとして接続すれば・・・
「USBドライブはFATかFAT32でないとイントールできません」
痛〜っ
---
次の港の海賊いわく
「道しるべ(ブートコード)を書き換えちまえば旅人なんてチョロいもんよ」
なるほど。ブートしないように先頭を壊してsATAに戻せばインストールできるってか

バイナリ編集するツールが見つからないので、錬金する(アプリ組む)。
その前に、復活の呪文を聞いておく(バックアップする)。

USBでMBRエリアをDDで吸い上げて、先頭の446バイトを0クリア。

接続をsATAに戻して、DVDからブートしたpuppyで壊した先頭を復活の呪文で復元。ここからpuppyをフルーガルインストール。MBR書き換え!

そして伝説(再起動)へ
 GRUB4DOS(puppyの)起動画面が表示され、puppyとwin10の起動メニューが・・・

かくして、ギガバイトの大地に平和がおとづれたのであった

・・・調子に乗りすぎた。なんだかさっぱり分らん。次回その3は「まとめ」!
posted by タロ兵衛 at 00:24| Comment(0) | TrackBack(0) | 日記

2018年01月07日

Win10の呪いを解く

通販のカスタマーレビューで面白い書き込みを見た
「Win10に呪われてしまったので新しいPCを組んだ」
言い得て妙である。
我が家のAMD-A10マシンそのものである。
しかも呪いは進行するし。
ドラクエでもこんなに凝った呪いはない。

勇者タロは新しいOSを見つけた
     ▼
勇者タロはOSをインストールした
     ▼
OSはwindows10だった
     ▼
勇者タロのパソコンは呪われてしまった
(♪タラタラタラタッタ♪)

我が教会に どうのような ごようじゃな
 おいのりをする
 いきかえらせる
 どくのちりょう
⇒のろいをとく

さすれば 我が教会に
108000ゴールドの ご寄付を。
よろしいですかな?

      はい
     ⇒いいえ

教会への寄付は
MSへの 感謝の気持ち
それを おしむとは 情けない。

という訳で、自力で呪いを解くことにした
posted by タロ兵衛 at 10:00| Comment(0) | TrackBack(0) | windows10

2018年01月05日

VirtualBox-amd64.sfs 航海日誌(その3最終回)

と、まぁ、一応出来上がったのだが、少々問題が。
そもそも64ビットに拘ったのは、64ビットのOSを試す環境が欲しかったからなのだが・・・
2,000円ジャンクPCの実験君は64ビットCPUだが、仮想化支援機能がない。
このため、32ビットOSしか動作させられない。
じゃ、その32ビットOSはどうかというと、非常に重く使い物にならない

もう一台のPC(Win10マシン。世間様と互換をとるためのPC)はAMDのA10cpuでソコソコ新しく速い(AMDさんはAPUと呼ぶ)。
じゃ、こっちで試すかというと、WIN10の最近のアップデートで、UEFIの起動を牛耳られてしまい、他のOSの起動を阻止されてしまった。しかもマザーが半端に古いためか、Win10内のUEFIへの入り口が出てこない。HDDの初期化はできるがそれは困る。ますますMSが嫌いになった。
xenialpupはUEFIとなっているが、DVD-Rからの起動はできなかった。優秀なのはFATDOGで、これはブートする。でも、FATDOGではちょっと困る。

やむなく会社のXeonマシンで試す。少々古いが腐っても鯛。64ビットOSも通るし速い速い。
この時、PCのHDDには全くお世話にならなかった。DVD-Rで起動して、そのままDVD上のVirtualBoxのsfsをロード。ネットワーク先のサーバー内のzenialpup64のISOから仮想マシンを起動できた。なんかの役に立ちそうで立たないだろう不思議な感覚だった。

しかたない、実験君は改造しますか。ここまで古いとほぼ全取っ替え。残るのは電源とケースとHDDぐらいか。改造と言うよりは新造だな。
実験君、ケース目的で中身は捨てる気で買ったジャンクマシンだが、いろいろ勉強させてもらったから使えるのにバラすのは惜しいのだが・・・
posted by タロ兵衛 at 23:32| Comment(0) | TrackBack(0) | 日記

2018年01月02日

VirtualBox-amd64.sfs 航海日誌(その2)

思ったより早く暗礁にのりあげる
言われるがまま、足らない32bitライブラリ(multilib)を追加するも、ついにマルチライブラリにないモジュールに突き当たってしまった。
どうも様子が変なので、なにも汚れていないRAM実行ではじめからやり直してみた。
結果、流れが変わりエラーの内容に変化がでた。
やはり何処かで間違えていたらしい。
-------------------------------------------------------
インストール後、virtualboxを起動。仮想マシンを作りこれを起動させると

「/sbin/vboxconfigを実行せい」と言うが、そんなファイルはない

ぐぐれば「rcvboxdrv setup」に変わったと
root# /sbin/rcvboxdrv setup
bash: /sbin/rcvboxdrv: No such file or directory
これもない

さらにぐぐれば、これになったと
root# /usr/lib/virtualbox/vboxdrv.sh setup

やっと、それらしく動き始めた

vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
This system is currently not set up to build kernel modules.
Please install the gcc make perl packages from your distribution.
Please install the Linux kernel "header" files matching the current kernel
for adding new hardware support to the system.

カーネルヘッダが無いと。

「kernel_sources-4.9.58-xenialpup64.sfs」を食わせる

root# /usr/lib/virtualbox/vboxdrv.sh setup
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
This system is currently not set up to build kernel modules.
Please install the gcc make perl packages from your distribution.
gccが動かんと
「devx_xenialpup64_7.5.sfs」を入れる

セットアップ始まる
root# /usr/lib/virtualbox/vboxdrv.sh setup
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: failed: Cannot change group vboxusers for device /dev/vboxdrv.
root#

グループが変更できんと。
そもそも vboxusers は存在するのか
root# getent group | grep vboxusers
root#

やっぱない。正規にはいつ追加されるかは不明だが、無いものはしょうがない。グループを追加。

root# addgroup vboxusers
root#

もんく言わないところを見ると、作成された模様

root# getent group | grep vboxusers
vboxusers:x:1001:
root#

よしよし

あらためて、セットアップ実行
root# /usr/lib/virtualbox/vboxdrv.sh setup
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
vboxdrv.sh: Starting VirtualBox services.
root#


終わったもよう

root# virtualbox
VirtualBox: supR3HardenedVerifyFileFollowSymlinks: Failed to resolve the real path '/usr/lib/x86_64-linux-gnu/dri/tls/nouveau_dri.so': No such file or directory (2)
root#


メサのvideoドライバが見つからないらしい
puppyは一応持っているようだが。
x86_64-linux-gnuこの辺に問題がありそう?かな?
ま、実行できたので、先ずはよしとしよう。
virtualbox5.2_xenial64.png
posted by タロ兵衛 at 22:50| Comment(0) | TrackBack(0) | 日記