この方法はパーティションテーブルを作成しなおします。つまりWindowsを消して入れ直します
(注) 古いWindows を消すのは、戻せなくなっていい場合でなければ、
やめた方がいいです
古いWindows はインストール後のアップデートが極めて困難です
また様々な有料ソフトのアクティベーションも解除も忘れずに
Ⅰ HDDにパーティションを作成、Windows、Linuxをインストール
(1) マザーボードをBIOSモードに設定。BIOSモードでインストールメディアから起動する
(2) Linux インストールディスクでコマンドラインを開き、fdisk を使って
4つのパーティションを作成する

1 Windows OS、フォーマットはNTFS
2 Linux OS、フォーマットはext4
3 Linux swap
4 Windows, Linux共用、フォーマットはNTFS
(3) 一旦、終了して、1つめのパーティションにWindows をクリーンインストール
(4) Windowsを起動してアップデート
4つめのパーティションをNTFSで初期化
Windows Updateは、以後は自動実行を停止しておいて
他のPC等を参考にWindowsカタログからDLして適用
(5) 2つめのパーティションにLinux をインストール
インストールの種類は「それ以外」を選ぶ

「ブートローダーをインストールするデバイス」から「/dev/sda」を選ぶ
(/dev/sdbは選んではダメです。/dev/sda1も違います)

Linuxインストール先。「/dev/sda2」を選んで「変更」ボタンを押す

フォーマットは「ext4」、マウントポイントは「/」。
ディスク容量は、開発環境、メディアプレイヤー、3Dモデリング、DAW入れて
15GBほど使ってます。25GBもあれば十分だと思います。
仮想環境 VirtualBox 等を使いたい場合は、もう少し多めにします
「/dev/sda」の下の「/dev/sda3」はswapにします。

ブートローダーのインストール先を再確認して、インストールを押す

「続ける」を押す

あとは普通のインストールと同じです
Ⅱ インストール後にすること
(1) アップデートの適用、言語の追加など
(2) Linuxのコマンドを開き、ハードウェア時刻を
現地時刻として扱うよう変更
timedatectl set-local-rtc 1
BIOSとUEFI
デュアルブートはBIOSモードで動作させる方が
パーティション設定が単純
例えばDELLだと、PCの電源をいれて、ロゴの表示中に
F2キーを数回押して
General→Boot Sequenceと選び、UEFI、Legacyから
Legaryに変更
ローカルタイムと協定世界時 UTC
Windowsはハードの時計を現地時刻、Linuxは協定世界時と
みなします
Windowsの再インストールが必要になると多大な手間が
かかるので、なるべくLinuxの方を調整します