FC2ブログ

UEFI非対応のPCで3TBのハードディスクを使う

Sony VAIO 3波TVチューナー搭載21.5インチ一体型PCの、HDD、メモリ、光学ドライブ無しのジャンク品を入手しました。
BIOS起動のみ確認されていたものです。

メモリを取り付け、ハードディスクを仮付けしたら、BIOS設定画面では認識しています。

どうせなら沢山録画出来た方が良いので、3TBのHDDを調達しました。
しかし、従来のMBR形式のハードディスクの場合、「2.2TBの壁」があり、それ以上は認識しません。
認識するシステムは、UEFI+GPT対応の比較的新しいPCとなります。
しかしこのVAIOは非対応でした。

まあ取りあえず、何とかなるだろうと、いつもの楽観主義で、やってみることにしました。

リカバリーディスクも調達していたので、それでリカバリーしようとしましたが、機種が違うと拒否されてしまいました。
私の確認不足で、微妙に機種が違っていました。
正しいリカバリーディスクを買った方が楽で早いのですが、そこはいつもの「技術者の意地」というか、諦めが悪いというか、何とか買った物を無駄にせず利用できないかとディスクの中を調べました。

最低限TVチューナーのドライバーとアプリが取り出せればいいのですが、ディスクの中のファイルは特殊な形式で圧縮されたものでした。
modという拡張子のファイルが沢山あり、おそらくこれらがリカバリーデータだと思われたので、例によってググってみたところ、これを変換するソフトがあるらしく、先人達の記事が複数見つかりました。
MOD2WIMというフリーソフトでWIMファイルに変換できるみたいですが、このソフトのダウンロードリンクが切れていました。
検索したところ、最初に見つかったものをダウンロードできたのですが、ダウンロードしたZIPファイルを解凍しようとしたら、ウイルス対策ソフトが反応しました。
無視して強制的に解凍し、実行したらウイルスでした。(正確にはマルウェアでした)
やはりウイルス対策ソフトの言う事は聞くべきですね。
全て駆除し、再度検索したところ、本物が見つかりました。(この人が持っていました)

先述のようにリカバリーディスクからリカバリーできなかったので、Windowsは新規インストールしました。
MOD2WIMを使ってリカバリーディスクからリカバリーデータを抽出しましたが、変換してできたWIMファイルもそのままでは中身を見ることができません。
7-ZIPを使えばWIMファイルを解凍することができます。
7-ZIPで解凍して出来たフォルダ名も意味のない記号なので、中身を一つ一つ確認して探します。
見つけることができなかったドライバーはネットで探し、一通り全てのドライバーをインストールし、TVを見るソフトもインストールし、TVが視聴できました。

新規インストールしたMBR形式のHDDのパーティション構成は、先頭が回復環境(100MB)、Cドライブを300GBとしたら、次に約1.8TBの領域が作られ、残り約750GBは未使用領域となりました。
Windowsからはこの未使用領域を使用することができません。
MBR形式のまま使用できるようにする方法を検索しました。
SeageteのDiscWizardで出来るような記事があったので、ダウンロードしてやってみましたがだめでした。
さらに検索したところ、「灯台下暗し」でした。
いつもお世話になっているHiren's Boot CDの中にある、Linuxベースの回復ツールのGpartedで出来るらしいので、やってみたら、未使用領域を基本パーティションに設定できました。
再起動してWindowsから確認しましたが、ちゃんと認識しています。
めでたし、めでたし。
スポンサーサイト



theme : Windows
genre : コンピュータ

ファンエラーの修理

富士通19”液晶一体型TVパソコンF/D70Dですが、ファンエラーで起動しません。
2009年モデルのVistaなので、通常なら廃棄処分なのですが、地デジが見られるPCであり、CPUファンの交換で簡単に修理できそうなので、修理することにしました。

分解は比較的簡単で、裏のネジを全部外せば、裏カバーはスタンドごと取り外せます。
蓋を開けてみたところ、CPUファンと同じ種類のファンがもう一つ(ケースファン?)付いていました。
電源スイッチをONにしたところ、ケースファンの方は回っていますが、CPUファンは回っていませんでした。
おそらくCPUファンの故障と思いましたが、ラッキーなのは同じファンがもう一つ有ったことです。
なので、入れ替えてみました。そうしたら、先ほどと同じようにケースファンは回っていますが、CPUファンは回っていません。
ということは、ファンの故障ではなく、マザーボードに問題があるということになります。
ファンの故障なら、同じファンを入手して交換すれば終わりなのですが、マザーの修理は簡単ではありません。

この時点で修理を諦めるかもしれませんが、ファン自体は故障していないので、CPUファンの電源を別の所から取ってやり、回転信号をマザーの端子に戻してやれば、ファンエラーは回避できるのではと考えました。

電源は、ケースファンの電源を分離することにしました。
私は機械屋で、大学の専攻も機械工学で、電気・電子は専門ではなく、「オームの法則」もしっかり理解しているわけではなく、いつものように、ネットで再勉強しました。
ファンと端子とは3本の線で接続されており、赤が+電源、黒が-電源(アース)、黄色が信号線(回転を検知する)です。
ケースファンの赤の線を途中でちょん切って二股に分岐させ、CPUファンの赤の線に繋いでやれば、2つのファンを並列に接続することになり、それぞれのファンに同じ電圧がかかるので、2つとも回るはずです。

IMG_20200329_140905-2.jpg

IMG_20200329_133357.jpg

図のように、それぞれのファンの赤線を延長し、それを接続して仮り付けしました。
そして電源を入れたら、2台とも回転し、ファンエラーも出なくなりました。
目論見どおりでした。大成功!

後はリード線の仮接続部分をちゃんと半田付けし、完了です。
カバーも組み付け直し、Windowsも起動でき、TVも見ることができました。

theme : パソコン修理
genre : コンピュータ

NVMe非対応マザーでWindows 10を起動させた

ノートPCのHDDをSSDに交換するだけで早くなることは分かっています。
CPUの種類より、メモリーの増設より、確実に速度アップが体感できます。

ただSSDにもいろいろな種類・規格があり、HDDと交換するタイプは基本的には2.5”HDDと同様の形をしたもので、転送速度は最大でもSATA6Gの600MB/Sを超えることはできません。
これに対し最新のM.2 SSDでNVMe接続のものは、最新のマザーボードの場合最大3200MB/Sと、かなりの速度が出る規格です。

それこそ最新のマザーなら、M.2スロットが有ったりするので、NVMe接続の最新のM.2 SSDの最大のパフォーマンスを容易に享受できますが、今回はDELL Vostro 270sというスモールフォームファクタの中古ミニ・デスクトップにM.2 SSDを追加し、Windows 10をここから起動し動作させることはできないかと考えました。
そうすれば、ある程度古いPCでも、高価な新品PCよりも高速で快適に使用することが可能になります。

HDDをSSDに交換するのが手っ取り早いのですが、搭載しているHDDは500GBのもので、同容量のSSDは高価だし、第一先述のようにSATA接続では高速M.2 SSDを使う意味がありません。
なのでHDDはそのままデータ・ドライブとして利用し、SSDを別途追加することを考えました。
しかし当然ですが、この中古PCにはM.2スロットなど有りません。
そこでPCIeスロットに接続することにしました。

自作PCならマザーの仕様は詳しく分かりますが、メーカー製のマザーは仕様を詳しく公開していないので正確には分かりません。
マザーのPCIeスロットのバージョンがVer.3.0以上ならM.2 SSDの能力を最大限に発揮できるのですが、このDELL PCのチップセットがB75で、おそらくVer.2.0のはずなので、Ver.3.0の半分の転送速度になってしまいます。
それでも、NVMe接続にすればSATA接続よりもかなり早くなります。

M.2 SSDをPCIeスロットに接続するアダプタを使えば物理的には装着できます。
しかしマザーが古いと、このSSDからブートできないらしいのです。
SATA接続のM.2 SSDを購入すればブートできるらしいのですが、やはりそれでは本来のスピードが出ません。
そこで例によって先人たちの経験を利用させてもらうことにし、いろいろと調べました。
BIOSを改造する方法と「Clover EFI bootmanager」を使う方法があるみたいでしたが、BIOS改変はリスクが高いので後者の方法をやってみることにしました。

とりあえず、M.2 SSDとPCIeアダプタを購入しました。
最悪上手く行かなくても別のPCで使えばよいと思い、OSだけ導入すればよいので、安価な128MBのSSDにしました。
A社で約¥3,000でした。アダプタもA社で約¥1,200です。

71-6Mv3wmlL__AC_SL1500.jpg

71awoAtqUDL__AC_SL1500_.jpg

M.2 SSDの欠点は発熱が高いということなので、購入したSSDにもアダプタにもヒートシンクが付属していました。
それを張り、SSDをアダプタに取り付け、アダプタをPCIeスロットに装着しました。因みにこのアダプタはPCIe x16スロットに付けるタイプで、本来このスロットはビデオカードを取り付けるものです。
装着後Windows 10を起動させ、ディスク管理を見てみたら、128MBのドライブとして認識していました。
Windows 10には標準でNVMeを認識するドライバーがあるみたいです。

しかしやはり、BIOSブート設定を見てもPCIeスロットのドライブからブートできそうにありません。
そこでClover EFI bootmanagerのことを調べましたが、USBメモリからブートさせたり、ブート専用のSSDを利用していたりで、なかなか私の環境と同じ例がありませんでした。
元々このClover EFI bootmanagerは、Windows PCにMac OSを(またはMac PCにWindowsを)デュアルブートさせている人の記事が多いものでした。
仕方がないので、両方の記事を参考にさせていただきながら進めていきました。

既にHDDにはWindows 10がインストール済みでしたが、MBRパーティション構成で、レガシーブート方式でした。
しかしNVMeからブートするためには、GPT構成+EFIブート構成に変更する必要がありました。
そこでまず、MBRをGPTに変換することにしました。
Windows 10には標準でMBR2GPT.EXEというモジュールがあり、MBR2GPT.EXE は、Windows 10 Version 1703以降を実行している Windows 10 コンピューターの Windows\System32 ディレクトリにあります。
しかしフリーソフトでもっと簡単に出来ないかと調べ、「AOMEI Partition Assistant」の無料版で出来るような記事があったので、ダウンロードしインストールしました。しかし、変換メニューをクリックすると、有料版を購入せよとのメッセージが出てできませんでした。いかにも無料版でもできそうなコマーシャルはずるいです。
どうもフリーソフトではできないようなので、結局MBR2GPTでやることにしました。

予めディスクの管理で、Disk番号を確認しておきます。(通常は0)
コマンドプロンプトを必ず管理者で開きます。(最初私は管理者で開いておらず、エラーで失敗しました)
構文は以下の通りですが、
MBR2GPT /convert /disk:0 /allowFullOS
いきなり変換する前に検証する場合は、convertのところをvalidateに代えて実行します。
余談ですが、当店で販売する中古PCは基本的に、私の方針で、パーティションを分割し、ドキュメント等ユーザーフォルダをDドライブに移動設定します。
この理由は、OSがクラッシュしてCドライブを初期化する必要が生じても、データを退避する手間が省けるし、Cドライブにデータを保存するよりもデータ損失の可能性が低くなるからです。
PCメーカーによっては、最初から分割している会社もありますが、DELLはCドライブのみの構成です。
なので今回のPCもDELLで、Cのみでしたが、分割し設定も変えていました。
しかしMBR2GPTは、論理ディスクがあると実行できないということだったので、設定を戻しDを削除しました。
そうしてからValidateを実行しましたが、Partition Layoutエラーになりました。
「Dドライブ削除したのにおかしいな?」と思いパーティション構成を再度確認したところ、何故か回復パーティションの手前に小さなパーティションがありました。
これを削除してから再度実行したところ、うまく変換できました。
この後BIOSのBOOT設定をレガシーからEFIに変更し、Windowsが起動できることを確認しました。

次にHDDをSSDにクローンすることにしました。
クローンする際、「EaseUS ToDo Backup」にはお世話になっています。無料で便利なソフトです。
これのブートディスクで起動してクローンすることが多いのですが、何故か今回は起動が途中で止まってしまったので、HDDにインストールすることにし、インストールしたプログラムから実行しました。
以前なら起動実行中のHDDのクローンはできなかったのですが、すんなりできました。
今回のように、元HDDより先SSDの容量が小さい場合でも自動的に縮小してくれます。
本当に優れたソフトです。

次のミッションはCloverのインストールです。
先述のように、Cloverは基本的にはMac用らしく、GUIでインストールできるのはMacだけのようで、Windowsの場合はISOファイルをCDに焼いてそのCDからブートするとのことだったので、まずそのCDを作りました。
そしてそのCDから起動したら(EFIモードではCD起動できなかったのでレガシーモードに戻した)、四角いアイコンが横に並んだブートメニュー画面が表示されました。
どのパーティションから起動するか選ぶ画面のようです。
このブートローダーをHDDにインストールしたいのですがやり方が分からず、いったん終了し再度ググりました。
そうしたら見つかりました。(先達に感謝)

まずHDDのEFIパーティションの中のファイルをCloverのものに置き換える必要があります。
しかし、Windowsの中からはこのパーティションを操作できません。操作できるようにする方法はいくつかありますが、私の場合は、「Hiren's Boot PE」というPE環境のユーティリティを使いました。
「Hiren's Boot CD」は、かなり以前から利用しており、このブログでも紹介していて、大変お世話になりましたが、最近のGPTやEFIブートには対応しておらず、それのPEバージョンがHiren's Boot PEです。
これのパーティションツールを使ってEFIパーティションにドライブ文字を付与し、操作できるようにしました。
そしてEFIパーティションの中にあるEFIフォルダを念のため別名で保存しておき、Clover CDの中にあるフォルダ(EFI、Library、usr)を全てEFIパーティションにコピーします。

次にNVMeのドライバーをコピーするのですが、私がダウンロードしたCloverは最新バージョンですが、先人たちの記事のフォルダ構成と少し違いました。
後は私の推理で行いました。(検証していないので、もしかしたら以下の操作は不要かもしれません)
私が行った操作は、EFIパーティションにコピーしたフォルダの中のEFI→CLOVER→drivers→offと開いてゆき、
NvmExpressDxe.efiファイルを切り取り、一つ上の階層driversに戻り、UEFIを開き、そこに張り付けました。
(切り取りではなく、コピーでも良い様な気がしますが、検証していません)

次にコマンドプロンプトでBCDEDITを使い、Bootレコードを書き換えます。
X:\Windows\system32>BCDEDIT /SET {bootmgr} PATH EFI\CLOVER\CLOVERX64.efi
X:\Windows\system32>BCDEDIT /SET {bootmgr} DESCRIPTION "Clover EFI"
(結果的には2行目は不要かも?)

ここまででCloverのインストールは完了(のはず)で、SSDから起動できるはずなのですが、クローンしただけでは起動しないことが多かったので、やって見ないと分かりません。
一旦PCをシャットダウンし、起動させたら、Cloverのブートメニューが表示されました。
先ほどと同様のアイコンが並んでいますが、ここは当てもの推理で、左から2番目のアイコンを選択しました。
Windowsのロゴが表示され、すぐにWindows 10が起動しました。
ディスク管理を確認すると、SSDがCドライブになっていました。成功です!

再起動すると、またCloverのブートメニューが表示されましたが、すぐに消えWindowsが起動しました。
Cloverは、前回起動したもので自動的に起動する仕様なので、このままでも構わないのですが、せっかくSSDにしたので、少しでも早く起動するように、タイムアウトを0に設定します。
EFIパーティションの、\EFI\CLOVER\config.plistファイルをテキストエディターで開き、
<key>Timeout</key>の行を探し、次の行を<integer>0</integer>とします。
これにより、Cloverのブートメニューが殆ど表示されることなく高速に起動します。

最後に、EFIパーティションのドライブ文字を削除し、HDDのOSパーティションを削除し、空き領域に新規パーティションを作成しDドライブとしました。
そしていつものように、ユーザーフォルダをDに移動しました。
HDDのEFIパーティションの前にある回復領域も削除してDに割り当てることも考えましたが、そこまでして起動しなくなるのを恐れ、やめました。

新品PCを買っても、HDDの場合起動に1分以上、下手をすると2分以上かかります。
私の定義する起動とは、スイッチONからデスクトップの全てのパーツが表示されるまでの時間ですが、私の経験では、この時間にCPUの性能差はありません。メモリーを8GBにすると10秒~15秒くらい早くなります。
当店の中古ノートPCは、不要な自動起動アプリは整理していますが、HDDをSSDに交換すると30秒で起動します。
今回のDELL PCはメモリー4GBですが、今回の改造後、15秒で起動しました。
CrystalDiskMarkで測定したら、シーケンシャルリードで1500MB/S程度出ていました。
「爆速」と言っても過言ではないでしょう。

最近のPC離れの理由の一つとして想像されるのは、PCの起動が遅いということがあると思います。
スマホやタブレットは、フラッシュメモリーであり、基本的に「つけっぱなし」なので、すぐに使えますが、PCは使い始めるのに時間が掛かるので面倒だと感じるのではないでしょうか。
スマホやタブレットは画面が小さく文字入力も面倒なので、大きな画面でキーボード入力も早いPCの方が使いやすいはずなので、15秒程度で起動できるようになれば、PCにもまた戻って来てくれるのでは?と期待しています。

theme : 自作・改造
genre : コンピュータ

MicrosoftがMicrosoftアカウントの登録を”ゴリ押し”してきた

正直、Microsoftのおかげで、年末から年始にかけて儲けさせてもらっていますので、悪口は言いにくいのですが、相変わらず、自社の都合をユーザーに押し付けようとしていますね。

最近はWindows 10のインストールをすることが増えていますが、最新ビルドの1909のインストールが終わり、初期設定のところで、インターネットに繋がっていると、従来はローカルログインが選択できたのですが、Microsoftアカウントでのログインしか選択できなくなっています。
インターネットを切断すると、ローカルログインできるようになります。
有線LANなら線を抜くだけでいいのですが、無線LANの場合はちょっと面倒です。

最近のOfficeも、認証するためにはMicrosoftアカウントの登録が必須です。
これも面倒ですね。

ライセンスの管理やユーザーの情報をマーケットに利用したいのだと思いますが、管理される方は気持ち悪いですね。

それと、OneDriveもMicrosoft Teamも殆どマルウェアで、勝手にインストールされます。
ほんと迷惑です。

theme : Windows
genre : コンピュータ

accdeファイル作成で苦労した原因はACCESSのバグだった!

約1年半ぶりのブログ更新です。

AccessでのPC-POSレジ開発もいよいよ販売準備段階になっており、配布するためのaccdeファイルを作成しようとしていました。
まずは、セットアプリの「商品管理」の方を試しました。
すると、accdeファイルはエラーも無くすんなり作成できたのですが、起動するとデータベースに接続できていませんでした。
accdbファイルの場合はちゃんと接続できているのに何故か?例によってインターネット検索しました。
今回のアプリは、データベースにADOで接続する設計にしていますが、その場合、通常はADOライブラリの参照設定を追加してプログラミングしますが、見つかった情報によると、参照設定しない方法でコーディングしないとaccdeでは動かないらしいので、その部分を変更しました。
その結果、無事accdeでも動くようになりました。

それで次にPOSレジの方も同様に変更し、accdeを作成しましたが、今度はそれでもデータベースに接続できていませんでした。
仕方なくまたネットに頼り、3つくらいの方法が見つかったので、それを全て試しましたがだめでした。
自分なりに商品管理とPOSレジのコードを比較し、いろいろ変えてみましたが、だめでした。

困りました。ソフト開発をやっていると、いつも壁に突き当たります。その壁を乗り越えて、ソフトがうまく動いたときに得られる達成感が大きいので、この仕事が好きなのですが、壁を乗り越えられない間は、寝床に入っても考えることが多く、常に頭の中はそのことで一杯です。

自分の持っている知識と経験で解決できない時は、結局他人の知識・経験に頼らざるを得ません。なので、再度WEB検索です。
ネットで検索する場合、日本語の単語を入力して探すことが多いと思いますが、その場合、検索結果に出てくるサイトは基本的には日本国内のサイトです。所詮日本は小さい国で、日本国内の情報も「井の中の蛙」です。
英単語だけで検索すると、アメリカのサイトの情報がいろいろ出てきます。この時代便利なのは、英語のサイトでも自動翻訳してくれます。おかしな日本語訳も時々ありますが、だいたいは内容を理解できます。
やはり日本より人口も多くパソコンを使っている人も多く、Accessで開発している人も多いので、同様の問題で困っている人の質問サイトも多くありました。
日本のサイトで示されていることと同じ方法を示している人も多かったのですが、読んでいるうちに見つかった内容が、「空のSubルーチンを削除したら解決した」というもので、それをやって解決したので、お礼を書いている人が一杯いました。
そして私もそれをやりました。そうしたら何と、accdeでもちゃんと動きました!
何という解決法でしょう?Microsoftには「ええかげんにせえよ!」と言いたいです。

明らかにAccessのバグです。
私の開発環境は、Win7Pro x64 Office 2010 Pro x86で、サービスパックも適用しています。
販売用は、Win10Pro x64 Office 2019 Proなので、Access 2019でもAccdeを作成してみましたが、だめだったので、このバグは現在も残っているバグだと思われますが、日本でももっと騒がれてもよさそうな問題のはずなのに、日本のサイトには一つも無かったことが逆に不思議でした。それだけAccessで開発している人が減ったということでしょうか。

何はともあれ、大きな壁をまた一つ乗り越えられ、ほっとしました。

theme : プログラミング
genre : コンピュータ

プロフィール

tasys

Author:tasys
FC2ブログへようこそ!

カレンダー
プルダウン 降順 昇順 年別

03月 | 2020年04月 | 05月
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -


最新記事
最新コメント
カテゴリ
天気予報

-天気予報コム- -FC2-
フリーエリア
検索フォーム
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード