2018年5月4日金曜日

Win10ドライバ更新

つい最近気づいたのだが、Windows純正のメディアプレイヤーでMP3再生でこける。再生するんだけど操作を受け付けづ、フリーズしているといった方が良いかな。なんでだろう?と考えれば、度重なるアップデートのせいだろうと容易に想像がつく。ネットによれば、メディアプレーヤーを入れ直せって事になるらしいが、私は別の疑いも持っている。Windowsはガンガンアップデートされるけど、ドライバの更新が取り残されてないか?というものです。機能に対し不具合の無いドライバがあるはずなんですよね。

というわけで、デバイスマネージャーからWindows機能でドライバ更新しようと思ったが、ろくなモンじゃなかった。私の要求する次元だと、各ハードウェアメーカーから最新ドライバを収集してくれるくらいじゃないと納得いかないです。で、しょうがないから、RealtekからLAN関係ドライバとかVIAからサウンド関係ドライバとかIntelからグラフィック関係ドライバとか集めるのが面倒だなぁとおもったのだが、そこに見つけたのが「Driver Booster」のフリー版だ。ちょっとやってみようと思ったら、あっさり14個もドライバ更新リストが表示された。おおおお、チップセットドライバなんかも含まれている、こりゃ良い。常駐するしないも選べるから、必要な時に起動してドライバ更新すれば良いのだろう。早速更新してみた。

というわけで肝心のメディアプレーヤー動作ですが、治ったっぽいです。すっげー手間が省けて笑いが止まりませんよ。

PCリース終了・更新

私の使っている会社PCはCore i7-4960Xにメモリ32GBという豪華仕様で、SSDが無いけど不自由は感じてない。しかし、Windows7が2020年1月に延長サポート終了となるので更新が迫っている。だいたい5月に更新されるから、2019年5月にはWindows7機器は会社から無くなるのだろう。ちなみに、会社からは、独自にWindows10にアップグレードしたPCはサポートしてくれないという話なので、まぁ特別な理由が無い限り更新することになるだろう。このように性能的には十分なのに退役なんな話はココだけの話じゃなく、世界中で起こっている。例えば以下記事。

https://pc.watch.impress.co.jp/docs/column/kaimono/1117740.html

ようは5年前のCPU性能から劇的パワーアップが無いまま現在に至っており、サーバで使われていたようなCPUがリース切れで大量廃棄、それが中古市場に流れ、10コアなXEONが2万で中古流通、中国個人ユーザーに大流行ということらしい。

私も自宅デスクトップPCを捨てた身なので、世の中がモバイル・クラウドにシフトしているのは実感してますけど、このせいでハイスペックCPUが爆安(ダブつくから安い)なのだろうと思います。こういうバブルのタイミングって逃すと次に何時来るか分かりませんので、デスクトップPCを持ち続ける強い気持ちをお持ちの方は、Windows10の終焉まで使うつもりで環境構築することをオススメします。
私のCore2Quadも長生きだったなぁ...友達のところで未だ余生を送っているし。きっと、そんなCore2Quad使いの人が更新するにはピッタリかもね。10コア20スレッドなら、きっと萌えますよ。

なにはともあれ私の会社PCは更新された。それにはSSDがついてi7-7700Kになり少し小型になった。性能の違いが分からないということは、普段使いではコアを持て余しているのでしょう。実感は、ただただWindows10が面倒なだけだった。

MicroSDXCとFAT32

MicroSDXCが値下がりし始めた。3D NANDの世代交代が本格化する前に在庫処分に入る予兆かも。64GBで2k、128GBで4k、200GBで7kという値段なので、16or32GBで狭苦しい思いをしている人は買っても良いと思う。128GBが一つのラインで、このくらいあればスマホとしては充分かも。

MicroSDはAndroidで使いたいのだが、私の所有端末はFAT32にしか対応していないのでexFAT→FAT32にする必要がある。

この時、几帳面な人は、あれ?MicroSDXCの先頭に未使用領域があるなぁ...と思うわけです。で、私は、あっさり何も考えず消しちゃいました。その結果、MicroSDHC 32GBを使っていた時より読み書きが遅くなった気がする...何とかせねば!と言い状態になるワケです。(まだ、そのまま使ってるんですけどねw)

<先に結論>
大容量MicroSDXCをFAT32にする場合の心得。
①パーテーションを弄らない。
②AOMEIでクラスタサイズ64KBでFAT32フォーマット。
これが最短で快適に使う方法。守らないと読み書きが遅くなる可能性あり。
</先に結論>

色々調べたんだけど、MicroSDXCは規格上、先頭に16MB(4096*4096=16777216byte)の空き領域が確保されるようになっているようだ。これを確保しないとダメなのかな?とか、クラスタサイズが128KBがexFAT標準だからFAT32でもクラスタサイズ指定が必要なのかな?とか考えた。

でもね、そもそもFAT32で使う時点でSDXC規格じゃないんですよ。となると、SDHCの仕様と考えれば良いわけで、未使用領域無しで問題無いハズですね。また、SDHCは32GBまでなのだがクラスタサイズ32KBとなるのが標準です。

で...そもそもSDXCはクラスタサイズ128KB、exFATが標準なのですが、多分そこまで128KBに最適化されているとも思えないので、32KBでも何ら問題無いと思うわけです。

というワケで、簡単にFAT32形式でフォーマットするなら、AOMEI Partation Assistanntが良いと思います。これならクラスタサイズ64KBも楽に選べます。

また、領域開放してしまった場合には、先頭16MBになるべく近い空き容量を確保して領域確保し、その後セクタ4096としてアライメント調整すれば、領域の頭は2MB目から始まるよう調整されるワケ(4096セクタ×セクタサイズ512Byte÷1024÷1024=2MB)で、うまくいけば16MB目から始まるようになると思われます。

私がコレをやってみれば良いんですが、この方法は私が納得できません。ですが、久々にOS環境がWindows10に変わると、何をどうやってやれば良いのか困るワケです。特に領域を確保する方法について、オフセットの設定がガチで出来ないとどうにもならんので調べてみました。

Windows10純正の「DISKPART」というプログラムをコマンドラインで使います。helpを見て、コマンドオプションを確認してみました。(最後に張り付けておきます)

実際の手順ですが、まずDISKPARTを起動し、搭載されているディスクを確認し、弄りたいディスクを選択します。ここで間違ったら悲惨なので、サイズを良く見て選択しましょう。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
DISKPART> list disk

  ディスク      状態           サイズ   空き   ダイナ GPT
  ###                                          ミック
  ------------  -------------  -------  -------  ---  ---
  ディスク 0    オンライン     60 GB    8 MB

DISKPART> select disk 0

ディスク 0 が選択されました。

DISKPART> list disk
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

選択したディスクに対し、領域を確保します。私の場合、MicroSDXCの頭に16MBの未使用領域を確保し、その後ろにPRIMARYパーテーションを作りたいので、以下のようにすれば良いのだろうと思う。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
DISKPART> CREATE PARTITION PRIMARY OFFSET=16384 NOERR

DISKPART>
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

あとは、作成された基本領域をFAT32フォーマットすれば良い。なおWindows純正だとFAT32は32GBまでしかフォーマットできないので、ここの部分はやはりAOMEIを使いクラスタサイズ64KBでFAT32フォーマットしましょう。なお、クラスターサイズを指定しなければ、64GBのMicroSDXCは標準値32KBでフォーマットされると思います。これで完成...のハズですw。

自分のドライブがどのようなクラスタ・セクター・オフセットになっているか見たかったので、手持ちのUSBメモリをAOMEI Partation Assistanntで見てみた。パーテーションを選択し、右クリック-プロパティで以下が見れる。
「ファイルシステム情報→セクタごとのバイト数」は512。普通のドライブは512Byteである。
「ファイルシステム情報→クラスターごとのセクタ数」が8、クラスターサイズは8*512/1024=4KBということになる。
「パーテーション情報→先頭セクタ」が128、頭から128*512/1024=64KBを空けて、パーテーション領域が確保されていることになる。
このように確認することが出来る。


さて、私のMicroSDXC 64GBの使い道はAndroid端末(Yoga Tablet 10_Android4.4.2)、Windowsノート(X205TA_Windows10)の容量不足解消が目的です。
Androidの場合、認識させるためFAT32必須です。Windowsの場合、NTFSにして仮想ドライブを作りハードディスクとしてマウントさせて使ってます。NTFSの場合、何も考えずにフォーマットすると4KBクラスタとなってしまっていますが、速度はともかく使えてはいます。ただし仮想ドライブ作成に一晩かかっていました。今考えると、仮想ドライブにするなら128KBクラスタにしておくべきだったかもしれませんね。
次に弄る機会があれば、試してみようと思います。

最後に「SDXCをFAT32で使用する」マトメ。

領域開放せず、FAT32の標準仕様最大のクラスタサイズ64KBでフォーマットしよう。AOMEIやEASEUSなどを使えばクラスタサイズ64KBフォーマットも簡単です。
Fat32Formatterという楽そうなソフトもあるけど、クラスタサイズが指定できないので非推奨。(そもそもHDDをターゲットにしているので、大容量ディスクはクラスタサイズ32KBになるはず。)

悲しくもSDXCを領域開放したり、領域消滅したSDXCを復旧したいなら、DISKPARTで領域先頭に16384KBの空きを作って領域確保しよう。

【以下、DISKPARTのHELP】

Microsoft DiskPart バージョン 10.0.17025.1000

Copyright (C) Microsoft Corporation.
コンピューター: XXXXXXXXXXXXXXX

DISKPART> help

Microsoft DiskPart バージョン 10.0.17025.1000

ACTIVE      - 選択したパーティションをアクティブとしてマークします。
ADD         - シンプル ボリュームにミラーを追加します。
ASSIGN      - 選択したボリュームに、ドライブ文字またはマウント ポイントを割り当 てます。
ATTRIBUTES  - ボリュームまたはディスクの属性を操作します。
ATTACH      - 仮想ディスク ファイルをアタッチします。
AUTOMOUNT   - ベーシック ボリュームの自動マウントを有効または無効にします。
BREAK       - ミラー セットを解除します。
CLEAN       - ディスクから構成情報または情報のすべてを消去します。
COMPACT     - ファイルの物理サイズの削減を試みます。
CONVERT     - 異なるディスク フォーマット間で変換します。
CREATE      - ボリューム、パーティション、または仮想ディスクを作成します。
DELETE      - オブジェクトを削除します。
DETAIL      - オブジェクトに関する詳細を提供します。
DETACH      - 仮想ディスク ファイルをデタッチします。
EXIT        - DiskPart を終了します。
EXTEND      - ボリュームを拡張します。
EXPAND      - 仮想ディスクで使用可能な最大サイズを拡張します。
FILESYSTEMS - ボリューム上の現在のサポートされているファイル システムを表示しま す。
FORMAT      - ボリュームまたはパーティションをフォーマットします。
GPT         - 選択された GPT パーティションに属性を割り当てます。
HELP        - コマンドの一覧を表示します。
IMPORT      - ディスク グループをインポートします。
INACTIVE    - 選択されたパーティションを非アクティブとしてマークします。
LIST        - オブジェクトの一覧を表示します。
MERGE       - 子ディスクを親ディスクと結合します。
ONLINE      - 現在オフラインとマークされているオブジェクトをオンラインにします。
OFFLINE     - 現在オンラインとマークされているオブジェクトをオフラインにします。
RECOVER     - 選択されたパック内のすべてのディスクを最新の状態に更新します。
              無効なパック内のディスクの回復を試み、古いプレックス
              またはパリティ データのあるミラー ボリュームと RAID5 ボリューム
              を再同期します。
REM         - 何もしません。スクリプトをコメントアウトするために使われます。
REMOVE      - ドライブ文字の割り当て、またはマウント ポイントの割り当てを削除し ます。
REPAIR      - 失敗したメンバーを持つ RAID-5 ボリュームを修復します。
RESCAN      - コンピューターを再スキャンしてディスクとボリュームを調べます。
RETAIN      - シンプル ボリュームに保持パーティションを置きます。
SAN         - 現在起動中の OS に対する SAN ポリシーを表示または設定します。
SELECT      - オブジェクトにフォーカスを移動します。
SETID       - パーティションの種類を変更します。
SHRINK      - 選択されたボリュームを縮小します。
UNIQUEID    - ディスクの GUID パーティション テーブル (GPT) 識別子または
              マスター ブート レコード (MBR) 署名を表示または設定します。




Microsoft DiskPart バージョン 10.0.17025.1000

Copyright (C) Microsoft Corporation.
コンピューター: XXXXXXXXXXXXXXX

DISKPART> help create partition primary

    フォーカスのあるベーシック ディスク上にプライマリ パーティションを
    作成します。

構文:  CREATE PARTITION PRIMARY [SIZE=] [OFFSET=]
           [ID={<バイト> | }] [ALIGN=] [NOERR]

    SIZE=    パーティションのサイズ (MB 単位) です。サイズを指定しないと、
                現在の領域に未割り当て領域がなくなるまでパーティションが
                作成されます。

    OFFSET=  パーティションを作成する場所のオフセット (KB 単位) です。
                オフセットを指定しないと、パーティションを保持できる十分な
                大きさのある最初のディスク エクステント上にパーティションが
                作成されます。

    ID={<バイト> | }

                パーティションの種類を指定します。

                相手先ブランド供給 (OEM) 専用です。

                マスター ブート レコード (MBR) ディスクでは、16 進数形式で
                パーティションにパーティション タイプ バイトを指定できます。
                MBR ディスクに対してこのパラメーターが指定されていない場合、
                このコマンドによりタイプ 0x06 (ファイル システムがインス
                トールされていないことを示す) のパーティションが作成されます。

                    LDM データ パーティション:
                        0x42

                    回復パーティション:
                        0x27

                    認識された OEM ID:
                        0x12
                        0x84
                        0xDE
                        0xFE
                        0xA0

                GUID パーティション テーブル (GPT) ディスクでは、
                作成するパーティションにパーティション タイプ GUID を
                指定できます。
                次の GUID が認識されます:

                    EFI システム パーティション:
                        c12a7328-f81f-11d2-ba4b-00a0c93ec93b

                    Microsoft 予約パーティション:
                        e3c9e316-0b5c-4db8-817d-f92df00215ae

                    ベーシック データ パーティション:
                        ebd0a0a2-b9e5-4433-87c0-68b6b72699c7

                    ダイナミック ディスク上の LDM Metadata パーティション:
                        5808c8aa-7e8f-42e0-85d2-e1e90434cfb3

                    ダイナミック ディスク上の LDM データ パーティション:
                        af9b60a0-1431-4f62-bc68-3311714a69ad

                    回復パーティション:
                        de94bba4-06d1-4d40-a16a-bfd50179d6ac

                GPT ディスクに対してこのパラメーターが指定されていない場合、
                コマンドでベーシック データ パーティションが作成されます。

                どのパーティション タイプ バイトまたは GUID でも、
                このパラメーターで指定できます。DiskPart では、パーティションの
                種類が 16 進数形式のバイトまたは GUID であることを確認する
                以外に、パーティションの種類の有効性は確認しません。

                注意:

                    このパラメーターを使ってパーティションを作成すると、使用中の
                    コンピューターに障害が発生したり、起動できなくなったりする
                    可能性があります。
                    OEM、または GPT ディスクに関する詳しい知識を持つ
                    IT 専門家でない限り、このパラメーターを使って GPT ディスク上
                    にパーティションを作成しないでください。
                    代わりに、GPT ディスク上では必ず CREATE PARTITION EFI
                    コマンドを使って EFI システム パーティションを作成し、
                    CREATE PARTITION MSR コマンドを使って Microsoft
                    予約パーティションを作成し、このパラメーターを指定せずに
                    CREATE PARTITION PRIMARY コマンドを使って
                    プライマリ パーティションを作成します。

    ALIGN=   通常、パフォーマンスを高めるために、ハードウェア RAID の論理
                ユニット番号 (LUN) アレイと共に使用されます。パーティションの
                オフセットは の倍数となります。OFFSET パラメーターが
                指定されていない場合、 の倍数に最も近い値に丸められます。

    NOERR       スクリプト専用です。エラーが発生しても、DiskPart は
                エラーが発生しなかったかのようにコマンドの処理を続けます。
                NOERR パラメーターがない場合は、DiskPart はエラー コードを
                生成して終了します。

    パーティションを作成すると、フォーカスは自動的に新しいパーティションに
    移動します。パーティションにドライブ文字は割り当てられません。
    パーティションにドライブ文字を割り当てるには、assign コマンドを使用する
    必要があります。

    この操作を完了するには、ベーシック ディスクを選択する必要があります。

    パーティションの種類が指定されず、ディスクが初期化解除され、
    ディスク サイズが 2 TB を超える場合は、GPT に初期化されます。

例:

    CREATE PARTITION PRIMARY SIZE=1000
    CREATE PARTITION PRIMARY SIZE=128 ID=c12a7328-f81f-11d2-ba4b-00a0c93ec93b
    CREATE PARTITION PRIMARY SIZE=10000 ID=12
    CREATE PARTITION PRIMARY SIZE=10000 ID=DE





Microsoft DiskPart バージョン 10.0.17025.1000

Copyright (C) Microsoft Corporation.
コンピューター: XXXXXXXXXXXXXXX

DISKPART> help format

    Windows で使用するよう指定されたボリュームをフォーマットします。

構文:  FORMAT [[FS=] [REVISION=] | RECOMMENDED] [LABEL=<"ラベル">]
              [UNIT=] [QUICK] [COMPRESS] [OVERRIDE] [DUPLICATE] [NOWAIT]
              [NOERR]
    FS=     ファイル システムの種類を指定します。ファイル システムが
                指定されない場合、FILESYSTEMS コマンドによって表示される
                既定のファイル システムが使用されます。

    REVISION=

                ファイル システムのリビジョンを指定します (該当する場合)。

    RECOMMENDED 指定した場合、推奨されるファイル システムおよびリビジョンが
                存在すれば、既定のファイル システムおよびリビジョンの代わりに
                使用します。推奨されるファイル システム (存在する場合) は、
                FILESYSTEMS コマンドによって表示されます。

    LABEL=<"ラベル">

                ボリューム ラベルを指定します。

    UNIT=    既定のアロケーション ユニット サイズを上書きします。
                一般的には既定の設定を推奨します。特定のファイル システムに
                対する既定のアロケーション ユニット サイズは、
                FILESYSTEMS コマンドによって表示されます。

                NTFS 圧縮は、4096 を超えるアロケーション ユニット サイズでは、
                サポートされていません。

    QUICK       クイック フォーマットを実行します。

    COMPRESS    NTFS 専用です。既定では、新しいボリュームで作成されたファイル
                は圧縮されます。

    OVERRIDE    必要に応じて、ファイル システムのマウントを先に解除します。
                ボリュームへの開いたハンドルはすべて無効になります。

    DUPLICATE   UDF 専用です。このフラグは、バージョン 2.5 以降の UDF 形式で使用
                できます。このフラグは、フォーマット操作で、ファイル システム
                のメタデータがディスクのセクターの 2 番目のセットに複製される
                ように指示します。複製されたメタデータは、アプリケーションに
                よってアプリケーションの修復や回復などに使用されます。プライ
                マリ メタデータ セクターが壊れていると検出された場合、ファイル
                システムは複製されたセクターを読み取ります。

    NOWAIT      フォーマット処理が進行中でも、直ちに戻ります。NOWAIT が
                指定されていない場合、DiskPart によってフォーマットの
                進行状況がパーセンテージで表示されます。

    NOERR       スクリプト専用です。エラーが発生しても、DiskPart は
                エラーが発生しなかったかのようにコマンドの処理を続けます。
                NOERR パラメーターがない場合は、DiskPart はエラー コードを
                生成して終了します。

    この操作を完了するには、ボリュームを選択する必要があります。

例:

    FORMAT FS=NTFS LABEL="新しいボリューム" QUICK COMPRESS
    FORMAT RECOMMENDED OVERRIDE

DISKPART>