APFSボリュームからMac OS拡張のパーティションを切り出す
APFSボリュームのパーティション作成でMac OS拡張を選択すると以下のようなエラーが発生し、パーティション作成に失敗する。
- 内部エラーが起きました。指定された操作の1つに必要なディスクが見つかりませんでした。これは一時的な問題である可能性があります。操作をやり直してください。
- APFSデータ構造のサイズを縮小中
APFSコンテナのサイズ変更エラーコードは49168です
APFSコンテナ構造のサイズ変更中に問題が起きました。:(-69606)
APFSボリュームでは、パーティションをAPFSで作成する必要があるようなので、後でMacOS拡張に変更する。
- ディスクユーティリティを起動する。
- APFSボリューム(システムディスクも可)を選択する。
- パーティション作成ボタンを押す。
- 「ボリュームをコンテナに追加しますか?またはデバイスにパーティションを作成しますか?」でパーティション作成ボタンを押す。
- 円グラフの下の+ボタンを押す。
- フォーマットにAPFSを選択。名前とサイズは任意。
- 「パーティションを作成しますか?」でパーティション作成ボタンを押す。作成が終わったら完了ボタンで閉じる。
- 左上の[表示]>[すべてのデバイスを表示]を選択し、「コンテナdisk*」の下に追加したパーティションが表示されることを確認。
- パーティション名ではなく「コンテナdisk*」を選択して、消去ボタンを押す。するとフォーマットにMac OS拡張を選択できるようになる。
- 消去ボタンを押して無事Mac OS拡張への変更が完了。
- ただし、作成したはずのパーティションが表示されていないか、「APFS物理ストアdisk...」の表示になり「マウントされていません」と表示される。
- [表示]>[ボリュームのみを表示]に戻す(画面描画をリフレッシュする)ことで、パーティションが表示されるようになる。
※VMware Player上で操作した夢のため、ご参考程度にお願いします。
CPU負荷が高くなるとPCが落ちる(最大のプロセッサ状態を変更して対処)
STYLE-IL11-i7S-HNVでCPU使用率が高くなる(冷却ファンが高速回転になる)と、「チュィィィーン」という音とともにPCが落ちる。CPUID HWMonitor(HWMONITOR | Softwares | CPUID)で温度を見ると70℃くらいになっているので、熱のリミッタで電源を落としているんだろう(たぶん)。
WSLのUbuntuで「repo sync」をすると100%落ちる。
以下の手順でCPU使用率を抑えることでPCが落ちなくなった。
- コントロールパネルを開く。(Windowsのスタートメニューから[Windows システム ツール]>[コントロールパネル]を選択。こんなところにあったのね。)
- [ハードウェアとサウンド]から[電源オプション]の下にある[電源プランの編集]をクリック。
- [詳細な電源設定の変更]をクリック。
- [電源オプション]画面で[プロセッサの電源管理]の[最大プロセッサの状態]を展開。
- 設定を「80%」に変更。
※99%でもいいという情報もあったが、自分の環境ではだめだった。90%でもいいと思うが、80%なら確実。
WSL (Windows Subsystem for Linux)でファイルが削除できなくなったとき(chkdskで修復)
WSL利用中にPCがダウンしたりして、ファイルシステムの管理情報が破損する場合がある。
ディレクトリごと削除しようとしても、削除できないファイルがあってrmコマンドが失敗する。
$ rm -rf test rm: cannot remove 'test/xxx': Directory not empty $ ls -alR test ls: reading directory 'test/xxx': Invalid argument
WSLのファイルシステムはlxfsで、WindowsのファイルシステムをLinux上で見えるようにエミュレートしているもの。
$ df -T Filesystem Type 1K-blocks Used Available Use% Mounted on rootfs lxfs 976760828 513985328 462775500 53% /
Windows側のNTFSのファイルシステムの管理情報が破損しているだけなので、Linux側ではなくWindows側での修復を行う。
Windows側の修復はchkdskコマンドで、WSLに割り当てているドライブを対象にチェックする。
なお、自分はDドライブにWSLを作成しているのでd:を対象にチェックした。標準のC:\Users配下だとこういうときにも面倒なので、Dドライブにしておいてよかった。
D:\>chkdsk d: /f ファイル システムの種類は NTFS です。 現在のドライブはロックできません。 ボリュームが別のプロセスによって使用されているため、Chkdsk を実行できません。Chkdsk を実行するにはこのボリュームのマウントを解除する必要 があります。 そのときは、このボリュームへのすべての開かれたハンドルは無効になります。 このボリュームを強制的にマウントを解除しますか? (Y/N) y ボリュームのマウントは解除されました。このボリュームへ開かれたすべてのハンドルは、現在無効です。 ボリューム ラベルは ボリューム です。 ステージ 1: 基本のファイル システム構造を検査しています ... ファイル 38B74 の壊れた属性一覧を切り捨てます。 ファイル 38B74 内の壊れた属性一覧エントリのうち、 タイプ コードが 80 であるエントリを削除しました。 壊れた属性レコード (0x80、"") を ファイル レコード セグメント 0x29539 から削除します。 : 壊れた属性レコード (0x80、"") を ファイル レコード セグメント 0x3C3BC から削除します。 380672 個のファイル レコードが処理されました。 ファイルの検査を完了しました。 孤立ファイル レコード セグメント 29539 を削除します。 : 孤立ファイル レコード セグメント 3C3CC を削除します。 1095 個の大きなファイル レコードが処理されました。 孤立ファイル レコード セグメント 3C3D0 を削除します。 0 個の問題のあるファイル レコードが処理されました。 ステージ 2: ファイル名リンケージを検査しています ... 4938 個の再解析レコードが処理されました。 433110 個のインデックス エントリが処理されました。 インデックスの検査を完了しました。 0 個のインデックスなしファイルがスキャンされました。 0 個のインデックスのないファイルが lost and found に回復されました。 4938 個の再解析レコードが処理されました。 ステージ 3: セキュリティ記述子を検査しています ... セキュリティ記述子の検査を完了しました。 データ属性をファイル 38B74 に挿入します。 26221 個のデータ ファイルが処理されました。 CHKDSK は Usn ジャーナルを確認しています... Usn ジャーナルの確認を完了しました。 CHKDSK はマスター ファイル テーブル (MFT) ビットマップに割り当て済みとして マークされている空き領域を検出しました。 CHKDSK はボリューム ビットマップに割り当て済みとしてマークされている空き領域を検出しました。 Windows でファイル システムが修正されました。 これ以上の操作は必要ありません。 976760831 KB : 全ディスク領域 513413896 KB : 145279 個のファイル 40672 KB : 26221 個のインデックス 0 KB : 不良セクター 476743 KB : システムで使用中 65536 KB : ログ ファイルが使用 462829520 KB : 使用可能領域 4096 バイト : アロケーション ユニット サイズ 244190207 個 : 全アロケーション ユニット 115707380 個 : 利用可能アロケーション ユニット
LG V20 PRO L-01Jのアプリを削除(adbをバッチ化)
LGのV20 PRO L-01J(もちろん中古)を購入。
まずはアプリ一覧から不要なアプリをアンインストール or 無効化。
次にadbでアンインストールするために開発者オプションを有効化。
- [設定]>[端末情報]>[ソフトウェア情報]>[ビルド番号]を5回タップ。
- [設定]>[ドコモのサービス/クラウド]>[USBデバッグ切替]でチェックをON
※[開発者向けオプション]>[USデバッグ]はdisableで操作できない! - PCにUSB接続してデバッグ。
アンインストール対象のパッケージ名を調べるために「Aplin ポスト無効化マネージャー」をインストール。
通常アンインストールできなくてもadbコマンドでアンインストールできる。アンインストールする前にapkを抽出しておけば後で再インストールできる。簡単にできるようにバッチファイル化。
- 「package?」のプロンプトで削除対象のパッケージの部分文字列を入力
- adb shell pm list packagesから部分一致するパッケージ名をfindstrで抽出
- 「uninstall?」のプロンプトで「Y」を入力した場合は、
adb shell pm pathでapkのパスを取得
adb pullで取り出し
adb shell pm uninstallでアンインストール
@echo off setlocal enabledelayedexpansion if not exist apk mkdir apk set LOGFILE=apk\uninstall.log set /p STR=package? for /F %%I in ('call adb shell pm list packages ^| findstr %STR%') do ( set LINE=%%I set PKG=!LINE:package:=! echo !PKG! set /p YN=uninstall? if "!YN!"=="Y" call :PKG_UNINSTALL !PKG! ) goto :eof :PKG_UNINSTALL set PKG=%1 for /F %%I in ('call adb shell pm path !PKG!') do ( set LINE=%%I set APK=!LINE:package:=! echo !APK! call adb pull !APK! apk echo %date% %time% !PKG! !APK! >> %LOGFILE% call adb shell pm uninstall -k --user 0 !PKG! ) exit /b
HTMLを変更せずにJSのみでtableを4ペインに分割する
行数/列数が多い表を4ペインに分割するためのJavaScirptファイルを実装してGithubで公開。
元のHTMLのtableタグ周りを変更せずに、M行N列で固定してして右下のペインをスクロールできるように実装。
最初jQueryプラグインで実装していたものを、jQueryに頼るまでもない実装なので、JavaScriptのみで書き直した。
Windows 10のVMware PlayerでmacOS Catalinaの夢
Windows 10のVMware PlayerでmacOS Catalinaをインストールする。
SnowLeopard→ElCapitan→Mojave→Catalinaとアップグレードしていくのもよいが、直接Catalinaをインストールするよりvmdkのサイズが大きくなる。(30GBちょい)
Catalinaを直接インストールすると24Gちょい。
まずはISOイメージを作成する。
macOS CatalinaのISOイメージを作成する - etsuxのブログ
(インストールイメージを保持したディスク「installer.vmdk」を用意する手順が公開されているが、ISOイメージでインストールするほうがインストール時の手番が簡単でしっくりくる。)
VMware PlayerでElCapitanなり、Mojaveなりをインストールしたことがあれば、やり方は同じ。
- VMware Workstation 15 Playerをダウンロードしてインストール。
- unlocker211.zipをダウンロードして展開。win-install.cmdを右クリック→管理者として実行。
- VMware Workstation 15 Playerを起動して[新規仮想マシンの作成]をクリック。
- [後でOSをインストール]を選択。次へ。
-
-
-
-
- メモリを4096MBに変更。
- CD/DVDは[ISOイメージファイルを使用する]で事前に作成したISOファイルを指定する。OKを押して閉じる。
-
- [macOSユーティリティ]では[ディスクユーティリティ]をクリックして[続ける]。ディスクユーティリティでは[VMware Virtual SATA Hard Drive Media](ディスクのサイズは107.37GB、[初期化前]と表示)を選択して[消去]をクリック。名前は任意。フォーマットは[Mac OS拡張(ジャーナリング)]、方式は[GUIDパーティションマップ](共にデフォルトのまま)で、消去。消去できたら赤×で戻る。
- [macOSインストール]を選択して[続ける]。
- あとは、画面の指示にしたがってインストール。