コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
Turgenev's Wiki
検索
検索
表示
ログイン
個人用ツール
ログイン
デュアルブートのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
特別ページ
ページ情報
表示
サイドバーに移動
非表示
←
デュアルブート
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、以下のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
{{Outdated}} WindowsとLinuxのデュアルブートにおいて役に立つ情報を記述する。古いメモを多く含む。[[Linuxのインストール|Linuxのインストール]]も参照。 <span id="windowsのプロダクトキー関連"></span> == Windowsのプロダクトキー関連 == {{UnderConstruction|デュアルブート}} <span id="bitlocker"></span> == Bitlocker == とにかく前もって<strong>回復キーを保存しておくこと!!</strong>逆に回復キーさえあればBitlockerで大きなトラブルになることは多くない。 * [https://www.pcdock24.com/blog/?p=53931 BitLockerとは【BitLockerの要件と自動有効化の問題点】|パソコン修理パソコンドック24] によるとローカルアカウントでBitlockerの有効/無効を確認するときはdiskmgmtから行かなきゃいけないらしい。 * Bitlockerを有効にしたあとにwinを起動すると再起動ループにハマることがある。解決法(Manage-bdeを使う)→[https://community.spiceworks.com/how_to/124388-stop-a-bitlocker-boot-loop Stop a BitLocker boot loop - Windows Forum - Spiceworks] <span id="windowsパーティションntfsのマウント"></span> == Windowsパーティション(NTFS)のマウント == {{Outdated}} ==== remove_hiberfileについて ==== マウントが成功するにはWindowsが完全シャットダウンされている必要がある(またはそれが望ましい)。ただ、[https://unix.stackexchange.com/questions/107978/cant-access-windows-drive-windows-is-hibernated-refused-to-mount https://unix.stackexchange.com/questions/107978/cant-access-windows-drive-windows-is-hibernated-refused-to-mount]にある通り、windowsを正しくシャットダウンしてもなぜか「ハイバーネートされててマウントできません」的なのが出ることがあるので、マウントオプションにremove_hiberfileを追加するとよい。 * 高速スタートアップを無効にしているにもかかわらず完全シャットダウンされていないことがある気がしたので、Windowsでシャットダウン時に実行するスクリプトとして完全シャットダウンコマンドを追加したりした * デスクトップPCではだいたい不要? <span id="bitlocker無し"></span> === Bitlocker無し === 普通にntfs-3gを使う。数字など適宜読み替えること。主にWindowsのDドライブ想定。 <ul> <li><p>コマンド例</p> <syntaxhighlight lang="javascript">ntfs-3g -o remove_hiberfile /dev/nvme0n1p5 /media/win</syntaxhighlight></li> <li><p>fstabの例</p> <syntaxhighlight lang="javascript">/dev/sda2 /media/ddrive ntfs-3g noauto,rw,nofail 0 0</syntaxhighlight></li></ul> <span id="bislocker有り"></span> === Bislocker有り === ntfs-3gの前にDislockerで暗号化を解除する。参考→[http://www7390uo.sakura.ne.jp/wordpress/archives/270 http://www7390uo.sakura.ne.jp/wordpress/archives/2] dislocker-fileの方式だと一旦復号したのをファイルに書き出して静的にマウントするので、(事実上)readonlyとなる。よってdislocker-fuseを使う→[https://www.systutorials.com/docs/linux/man/1-dislocker-fuse/ https://www.systutorials.com/docs/linux/man/1-dislocker-fuse/] <ul> <li><p>コマンド例</p> <syntaxhighlight lang="vb.net">$ sudo dislocker-fuse -V /dev/nvme0n1p3 --recovery-password=xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx -- /media/dl-fuse $ sudo mount -o loop,rw /media/dl-fuse/dislocker-file /media/win/</syntaxhighlight></li> <li><p>fstab例</p> <syntaxhighlight lang="vb.net">/dev/nvme0n1p3 /media/bitlocker fuse.dislocker recovery-password=xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx 0 0 /media/bitlocker/dislocker-file /media/win10 ntfs-3g rw,nofail,remove_hiberfile,permissions 0 2</syntaxhighlight> <p>と、二行に分けて記載する。</p> <ul> <li>permissions については後述</li></ul> </li></ul> ==== セキュリティ問題 ==== recovery-passwordを暗号化されていないパーティションに書いてしまうと結局Bitlockerの意味が全くなくなってしまうので、Linux側でもBitlockerのような暗号化パーティション(LUKSとか?)やユーザーログイン時に復号される暗号化フォルダ(ecryptfsとか)といったディスク上で暗号化される領域に書いておく必要がある(もちろん毎回パスワードの類を打ち込むのでよければそれでもいい)。 === permissionsについて === [https://github.com/tuxera/ntfs-3g/wiki/File-Ownership-and-Permissions https://github.com/tuxera/ntfs-3g/wiki/File-Ownership-and-Permissions] ここに書いてある。 NTFSでのパーミッションの扱いとPOSIXでのパーミッションの扱いがかなり異なるため、WindowsとLinuxでパーティションをうまく共用するのは(特に各ユーザーフォルダ内に関しては)難しい。 まず、ntfs-3gでUserMappingを指定しない限りは、Linux上で新規作成したファイルは全てAdministratorsの所有物になる。また、特に指定がない限りはそれらのアクセス権はEveryoneがフルコントロールできる状態になる。もちろん親フォルダのアクセス権がなければ見えてしまうことはないが、エクスプローラー上でも周りのファイルとは明確にアクセス権がズレてしまう。なお、inheritオプションを使って上位フォルダの権限を継承することはできるが、所有者が違えばまともに継承もされないのであまり意味がない。 また、Windowsではファイルの新規作成時には必ず実行権限が付加されるので、Linux側でそれを見た場合も実行可能になる。(実行権限を外すと.exeなどが実行できなくなる) したがって、少なくともntfs-3gにちゃんとしたUserMappingを与えない限りは、各ユーザーフォルダに作成したファイルを自動的にそのユーザーの所有物にするようなことは不可能である。 === 特定ユーザーとしてmount === [https://ikb.hatenablog.com/entry/20110203/1296725898 https://ikb.hatenablog.com/entry/20110203/1296725898]のように <code>-o uid=$(id -u),gid=$(id -g)</code>とする。ただしこれだと複数ユーザーで使えない。複数ユーザーで使うときは、UserMappingを使用する(WindowsでのユーザーとLinuxでのユーザーを対応づけたい場合はこちら)か、bindfsを使うとよい。(一旦rootでマウントしてから、各ユーザー向けにそのユーザーの権限でマウント) ==== bindfs ==== 既存のディレクトリを、所有ユーザーやパーミッションを変更してマウントしてくれる。Gitとかで所有権エラーが出るのを防げて快適になる。 <syntaxhighlight lang="python">sudo bindfs --mirror=myname --force-group=myname /media/win ~/.mnt_win/</syntaxhighlight> または <syntaxhighlight lang="python">sudo bindfs --force-user=myname --force-group=myname /media/win ~/.mnt_win/</syntaxhighlight> この2つの違いは不明 sudoがないと<code>fusermount: option allow_other only allowed if 'user_allow_other' is set in /etc/fuse.conf</code>とか言われたりする fstabの例 <syntaxhighlight lang="python">/media/win /home/myname/.mnt_win fuse.bindfs nofail,map=root/myname:@root/@myname,create-with-perms=g-w 0 0</syntaxhighlight> Linuxだとrootのデフォルトのumaskが022で一般ユーザーが002なせいで一般ユーザーが作ったファイルが775とか664になってしまったりするがg-wをつけることによって755とか644になる(もちろんchmodすれば変えられる <span id="minecraft"></span> == Minecraft == .minecraftフォルダをWindowsとLinuxで共有したはいいが、(それ自体.minecraftの中にある)ゲームディレクトリの指定も共有することを考えると、両OSでパスの仕様がやや異なるのが問題になる。 例えば以下ではWindowsのルートが/media/winにマウントされているとする。 まずLinuxのランチャーは相対パスどころかシンボリックリンクすら変換して普通の絶対パスにしてしまう(設定を書き換えてしまう)っぽいので、linuxでは絶対パス指定で/media/win/Users/pathのようにする。で、この書き方をするとWindowsでは相対パスと解釈されるのだが、基準となるフォルダが謎で、「PLAY」を押した時のチェック時は.minecraftが基準なのだが、実際に見られるのはランチャーがあるフォルダが基準(=こっちになかった場合ゲームディレクトリが新たに作られる) * ストアアプリ版の(新しい方の?)Minecraftランチャーでは、この「ランチャーがあるフォルダ」は<code>AppData\Local\Packages\Microsoft.4297127D64EC6_8wekyb3d8bbwe\LocalCache\Local</code> あたりである。 従って、ランチャーのフォルダと.minecraft内の両方にmediaというフォルダを作って中にwinという名前でC:\へのジャンクション置くとうまくいく。 .minecraftの中にはゲームディレクトリ専用のフォルダを作り、その中にmain, snapshotなど用途に応じたフォルダを作っておくとよい == google-drive-ocamlfuse == labelを使うと複数アカウントをマウントできる。デフォルトのラベル名はdefault しばらく使っていないと起動時におそらく認証の失敗が原因でマウントポイントのあるフォルダに対するlsがしばらく一切反応しなくなる(~/.gdfuse内の該当ラベル名のフォルダを削除して最初からやり直せば治る)。よってマウントポイントをホームディレクトリ直下に作るのは避けたほうがよい(gdfというフォルダを作っている)。 <span id="mega"></span> == MEGA == Winが完全にはシャットダウンされていない状態でLinuxを起動するとCドライブ上のMEGAのフォルダが読めずに同期が無効になってしまう。MEGA自身のかわりに、Cが読める状態でのみMEGAを起動するシェルスクリプト(mega-mounted.sh)をスタートアップに登録しておく。Cが読めなかった場合にはdialogコマンドで通知ダイアログを表示する。(このスクリプトではC自身のかわりにC:\Windowsをみている)(gdialogは一部のディストリにしか入っていないかもしれない。実際にコマンド打ってみてどんな表示になるかも含めて確かめておいたほうがよい) <syntaxhighlight lang="shell">#!/bin/sh if [ -d /media/win-rw/Windows ]; then megasync else gdialog --title "Warning" --infobox "MEGAsync is not started because Windows partition is not mounted" 0 0 fi</syntaxhighlight> <span id="bluetooth機器"></span> == Bluetooth機器 == 同じBluetooth機器を同じPCのWindowsとLinux双方にペアリングするというもの。自分はマウスでしかやったことがない。意外と難しいが何とかなる。 ==== 参考 ==== * [https://orumin.blogspot.com/2019/02/bluetooth.html https://orumin.blogspot.com/2019/02/bluetooth.html] * [https://qiita.com/yoko-yan/items/9b0235678fd804b4fe0d https://qiita.com/yoko-yan/items/9b0235678fd804b4fe0d] * Bluetooth Low Energyという仕様もあるらしく、自分のマウスはこっちだった。これに関しては[http://aimingoff.way-nifty.com/blog/2018/09/windows-linux-b.html http://aimingoff.way-nifty.com/blog/2018/09/windows-linux-b.html]を参照。割と情報が少ないので感謝。 ** <code>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\xxxxxxxxxxxx</code>を見るためにpstoolsをダウンロードして<code>PsExec64 -s -i regedit</code>とする必要があることに注意。なお、セキュリティソフトによってPsexecが脅威と見なされ強制削除されてしまうときは代わりにフリーソフトのAdvancedRunを使うとよい。 ** まとめ *** CSRKをLocalSignatureKey *** LTKをLongTermKey *** EDIVをEdiv(16進→10進に変換) *** ERandをRandに(<strong>バイト</strong>(2文字のかたまり)<strong>をすべて逆順にしてから</strong>10進変換)。ちなみにこれを間違えた結果、マウスを動かすたびにbluetoothアイコンが白↔黒と高速で切り替わる謎のバグっぽい現象が起こったことがあった。 *** 小文字を大文字に変える必要はない。また、IRKをIdentityResolvingKeyに書くのも不要。 <span id="マルチデバイス対応マウスlogicool"></span> ==== マルチデバイス対応マウス(Logicool) ==== マルチデバイス対応(切り替えボタンがあるやつ)のマウス(LogicoolのM595)を使ったら、<strong>登録情報を一旦削除して再接続するごとにMacアドレスがひとつインクリメント</strong>されて困った。Linuxで接続→Winで接続→Linuxで上記の書き換え、とやったあと、フォルダ名を変更(1を足せばよいはずだが正確にはWinの情報を見るのがよい)するとうまくいった。[https://twitter.com/e9g/status/1381111849664409600 自分のツイート]にも記録あり [[Category:IT]][[Category:Windows]]{{#seo:|title={{FULLPAGENAME}} - Turgenev's Wiki}}
このページで使用されているテンプレート:
テンプレート:Mbox
(
ソースを閲覧
)
テンプレート:Outdated
(
ソースを閲覧
)
テンプレート:UnderConstruction
(
ソースを閲覧
)
デュアルブート
に戻る。