how to install ubuntu and triple boot with high sierra and legacy booting win10 with dual disk drive?

Solution 1:

Note: This installation procedure was tested by using VirtualBox. Both High Sierra (macOS 10.13.6) and 64 bit Windows 10 (1909) installers were used to create the partitions. Nether macOS or Windows were installed prior to installing Ubuntu Server.

Create a Linux Partition

The output from the macOS command diskutil list disk1 is shown below.

/dev/disk1 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *128.0 GB   disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                 Apple_APFS Container disk2         127.8 GB   disk1s2

To create the Linux partition, first you need to calculate the new size for the APFS container partition. Since you want 40 GB for linux, the new size would be as follows.

127.8 GB - 40 GB = 87.8 GB

The macOS command to create the unformatted linux partition is given below.

diskutil apfs resizeContainer disk1s2 87.8G %linux% none 0

The result is shown below.

/dev/disk1 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *128.0 GB   disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                 Apple_APFS Container disk2          87.8 GB   disk1s2
   3:           Linux Filesystem                          40.0 GB   disk1s3

Install Ubuntu Server

Note: I assume you following Ubuntu's instructions for creating the bootable Ubuntu Server USB flash drive or burned a DVD.

  1. When the image below appears, highlight Update to the new installer. Next, press return.

    Note: To get a better view of an image, click on the image or open the linked image in a new window.

  2. When the image below appears, select Custom storage layout, then highlight Done, as shown below. Next, press return.

  3. Highlight partition 3 existing, unused, as shown below. Next, press return.

  4. Highlight Edit, as shown below. Next, press return.

  5. Select ext4 as the format.

    Note: Mount should appear as /.

    Highlight Save, as shown below. Next, press return.

  6. Highlight Done, as shown below. Next, press return.

  7. Highlight Continue, as shown below. Next, press return.

  8. Proceed with the installation.

Notes

I encountered synchronization issues when booting to the operation system. Often the prompts for input occur before all the messages have been output.

References

Complete recipe for installing single-boot Linux
Dual-Booting OS X or macOS with Linux without rEFInd
What is the difference between grubx64 and shimx64?