Installing Linux Mint 18.3 to a thumb drive and
configuring it to dual boot with Windows 10.


Obtain USB media

  • Install media drive (USB2, at least 4GB)
    You will burn an ISO image of the Mint installer to this thumb drive and use it to install Mint to the other thumb drive. After installation, keep this drive. You can use it as recovery media, if the need arises.
    Recommended product:  SanDisk Cruzer Fit 
  • Linux Mint OS drive (USB3, at least 32GB)
    You will install Linux Mint to this drive, which will become a permanent part of your computer.
    Recommended product:  SanDisk Ultra Fit 

Prepare install media


Prepare Windows

Force Windows to use UTC for hardware clock (to keep time consistent between Windows and Linux)
  • Run regedit
  • Navigate to
  • Create new DWORD value named then set its value to
Disable BitLocker (to allow Linux to access Windows hard drive)

(This step is optional and introduces some security risk.)

Disable fast boot (to keep Windows hard drive accessible to Linux)
  • Open Power & sleep settings
  • Under Related settings click Additional power settings
  • Under the Control Panel Home column, click Choose what the power button does
  • Click Change Settings that are currently unavailable
  • Under Shutdown settings uncheck Turn on fast startup
  • Click

(Fast boot does not really make Windows boot that much faster.)


Prepare BIOS

Edit BIOS settings, as follows:

  • Disable secure boot, and see if Windows still starts. (If not, re-enable secure boot and hope for the best.)
  • Change boot order to try USB media before trying the hard drive.

If you have trouble getting to your BIOS settings, try + from Windows.


Install Linux Mint

  • Reboot from install media to the Mint desktop.
  • Turn off the screen saver.
  • Connect to the Internet.
  • Insert OS media into the USB slot furthest away from fan exhaust ports.
  • Double-click the Install Linux Mint icon.
  • Check the box for Install third-party software for graphics and Wi-Fi hardware.
  • For Installation type, choose Something else.
  • Leave sda and sdb drives untouched.
  • Select /dev/sdc and click
  • Under /dev/sdc select free space and click
  • For Mount point choose , then click to format the entire disk as an Ext4 partition.
  • For Device for boot loader installation: choose /dev/sdc (not sdc1), then click
  • Do not configure a swap partition.
  • Choose timezone, keyboard layout, etc. and proceeed to installation.
  • When installation completes, click .
  • Shutdown then remove install media when prompted.

Post-installation optimization

Boot from Mint OS media with hardware rendering disabled (to prevent crashes caused by graphics driver changes during the next step).

  • When the GRUB boot menu appears, press to edit the boot commands.
  • Down arrow to the line starting with linux
  • Right arrow to just before the words quiet splash
  • Insert the following text:  nomodeset #
  • Press to continue.

Redirect /var/log to RAM disk (to avoid write wear on thumb drive).

$cd /var
$sudo mv log log.OLD && sudo ln -s /dev/shm log
$echo D /var/log/ConsoleKit/ 0755 root root | sudo tee -a /etc/tmpfiles.d/console-kit.conf

Reconfigure GRUB to show boot menu and default to the last OS booted (to make Windows updates easier).

$cd /boot/grub
$sudo cp -p grub.cfg grub.cfg.OLD && sudo nano grub.cfg
 
:
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="0"
   if [ "${saved_entry}" ] ; then set default="${saved_entry}" ; fi
fi
:
if [ "${recordfail}" = 1 ] ; then
  set timeout=30
else
  if [ x$feature_timeout_style = xy ] ; then
    set timeout_style=menu   # hidden
    set timeout=10           # 0
:
menuentry 'Linux Mint 18.3 Cinnamon 64-bit' ...
        recordfail
        :
        linux   /boot/vmlinuz-4.4.0-53-generic root=UUID=...
        initrd  /boot/initrd.img-4.4.0-53-generic
        savedefault
}
:
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager (on /dev/sda1)' --class windows --class os ...
        insmod part_gpt
        :
        chainloader /EFI/Microsoft/Boot/bootmgfw.efi
        savedefault
}    

Run driver-manager to see if better graphics or wireless drivers are available. If so, upgrade the drivers. Especially the graphics driver. (You can, however, ignore microcode updates for now.)
Reboot and make sure everything works (graphics, sound, wireless, bluetooth)
Synchronize bluetooth pairing keys.
  • Pair devices on Linux.
  • Reboot to Windows, then un-pair and re-pair devices.
  • Reboot to Linux, then replace Linux pairing keys with Windows pairing keys.

    $wget https://yourunclemike.github.io/linux/blueaud
    $sudo bash ./blueaud # Use a separate terminal for this
    $sudo nano $(sudo find /var/lib/bluetooth -name info)
    [General]
    Name=...
    :
    
    [LinkKey]
    Key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    :

  • Restart bluetooth service.
Mount Windows drive at /C: (only if fast boot and BitLocker are disabled).

$pushd /etc
$read fstype uuid size > >(lsblk -lb -x SIZE -o FSTYPE,UUID,SIZE /dev/sda | grep ntfs | tail -1)
$sudo cp -p fstab fstab.OLD
$sudo tee -a fstab > >(echo UUID=$uuid$'\t/C:\tntfs\tdefaults\t0\t2')
UUID=xxxxxxxxxxxxxxxx   /C:     ntfs    defaults        0       2
$sudo mount /C:
$popd


References