Hi Фест,
on my most recent hardware PC, a 4 GB 8core notebook, I have SM-Witless OS7 preinstalled, and I hardly ever use that OS (maybe once or twice a year), but I still wanted to keep it since I paid for it anyway.
Back then, years ago, I researched the issue of W7 and dual booting with Linux and found that the only solution back then was using grub4dos.
I even use the sda1 partition, which is W7 boot and backup partition to have all puppy, TinyCore and Porteus OS data. Okay, I hardly ever run Puppy or TinyCore, even when both are nice OS by themselves. But in any case, it is good to have some additional minimal Linux available.
Here are the setup files and changes I made. I will mark changes that I made but that I deem a potential risk for the stability of W7 in
bold and explain why I deem this a potential risk.
Lets start with /mnt/sda1/Boot
Code: Select all
guest@porteus:/mnt/sda1/Boot$ l [a-z][a-z]-[A-Z][A-Z] -d
-rwxrwxrwx 1 root 0 2012-02-24 05:05 cs-CZ
-rwxrwxrwx 1 root 0 2012-02-24 05:05 da-DK
drwxrwxrwx 1 root 0 2010-05-14 13:49 de-DE
-rwxrwxrwx 1 root 0 2012-02-24 05:05 el-GR
drwxrwxrwx 1 root 0 2010-05-14 13:49 en-US
-rwxrwxrwx 1 root 0 2015-03-05 06:14 es-ES
-rwxrwxrwx 1 root 0 2012-02-24 05:05 fi-FI
-rwxrwxrwx 1 root 0 2012-02-24 05:05 fr-FR
-rwxrwxrwx 1 root 0 2012-02-24 05:05 hu-HU
-rwxrwxrwx 1 root 0 2012-02-24 05:05 it-IT
-rwxrwxrwx 1 root 0 2012-02-24 05:05 ja-JP
-rwxrwxrwx 1 root 0 2012-02-24 05:05 ko-KR
-rwxrwxrwx 1 root 0 2012-02-24 05:05 nb-NO
-rwxrwxrwx 1 root 0 2012-02-24 05:05 nl-NL
-rwxrwxrwx 1 root 0 2012-02-24 05:05 pl-PL
-rwxrwxrwx 1 root 0 2012-02-24 05:05 pt-BR
-rwxrwxrwx 1 root 0 2012-02-24 05:05 pt-PT
-rwxrwxrwx 1 root 0 2012-02-24 05:05 ru-RU
-rwxrwxrwx 1 root 0 2012-02-24 05:05 sv-SE
-rwxrwxrwx 1 root 0 2012-02-24 05:05 tr-TR
-rwxrwxrwx 1 root 0 2012-02-24 05:05 zh-CN
-rwxrwxrwx 1 root 0 2012-02-24 05:05 zh-HK
-rwxrwxrwx 1 root 0 2012-02-24 05:05 zh-TW
Since my W7 is a German one,
I removed all W7 "locales" but the German de-DE and the en-US from its Boot folder by removing the folders and replacing these by empty files.
This is one such change I deem potential dangerous!
Just removing the folders would result in W7 to just restore these on the next bootup, but replacing these with empty files (empty files not use any space on the drive, these are just entries in the directory, nothing more) keeps W7 from messing with these things. Be aware that you have to adjust which folders to replace and which to keep, if you use any other language in your Windoze-Whatever version you want to keep than en-US, you have to keep that very "locales" folder intact.
Still, this is an advanced move and I take no responsibility whatsoever for any user removing any WitlessOS files in such a manner like I did. I never experienced any issues with W7, but I could not speak for any other W7 but mine, any W8, W9 or W10 or any upcoming W versions to behave the same benign way when it comes to such low level hacking.
I installed all kernels and initrd's into /Boot as well:
Code: Select all
guest@porteus:/mnt/sda1/Boot$ ls -1 initrd* vmlinuz*
initrd.xz_Porteus_4.0_x86_64
initrd_quirkyNOP120.gz
vmlinuz64
vmlinuz64_is_TinyCorePure64-6.3
vmlinuz_Porteus_4.0_x86_64
vmlinuz_quirkyNOP120
Be aware that I omit Porteus dev kernel and initrd in the above info. Also, "vmlinuz64_is_TinyCorePure64-6.3" is an empty file, it just tells me to which OS the not explicitly renamed kernel "vmlinuz64" belongs to.
Now for the setup of W7 and grub4dos/neoGRUB. I did quite some setup using the neoGRUB tools, sadly, I cannot find all of the setup by just browsing the /mnt/sda2 directory. I added a OS selection to the W7 boot menu (using the neoGRUP setup tool), and the standard selection being "Linux", which then loads the neoGRUB menu.lst.
This setup of the W7 OS selection I cannot find running Porteus, but you find enough HOWTOs for setting up neoGRUB to dual boot any preinstalled W and Linux, I just followed the instructions to a T.
Now for some entries in the /mnt/sda2/NST/menu.lst
Code: Select all
title Back to Menu
rootnoverify (hd0,0)
chainloader +1
boot
This entry should bring you back to the W7 OS selection menu where you can choose between Linux (which would bring you back again to the menu.lst of neoGRUB) and the W-whatever version you might have preinstalled. When I recall right, the Back to menu entry was part of the original menu.lst as created by neoGRUB and it is best to just keep it there.
Code: Select all
title Porteus 4.0 x86-64 XFCe
rootnoverify (hd0,0)
kernel (hd0,0)/Boot/vmlinuz_Porteus_4.0_x86_64 from=/mnt/sda1/Porteus_4.0/ ramsize=40% zram=25% timezone=Europe/Berlin volume=75% kmap=de 3
initrd (hd0,0)/Boot/initrd.xz_Porteus_4.0_x86_64
boot
This is my entry for Porteus 4.0 x86-64 XFCe. Be aware that it uses the kernel and initrd renamed and installed as listed above, and also uses a non standard initial folder for the Porteus main modules. Initially, the one Porteus version using the standard /porteus/ folder was 3.1, but I removed that many months ago due to not enough space on /mnt/sda1, since it is only a 1.5G partition, that holds all my Linux distros, and also the needed files for W7.
Code: Select all
title Puppy quirkyNOP-120 (on /dev/sda1)
rootnoverify (hd0,0)
kernel (hd0,0)/Boot/vmlinuz_quirkyNOP120 root=/dev/sda2 ro vga=normal root=/dev/ram0 pmedia=atahd
initrd (hd0,0)/Boot/initrd_quirkyNOP120.gz
boot
My Puppy quirkyNOP entry.
Code: Select all
title TinyCorePure64-6.3 mit X
rootnoverify (hd0,0)
kernel (hd0,0)/Boot/vmlinuz64 loglevel=3 cde
initrd (hd0,0)/Boot/corepure64.gz
boot
My TinyCorePure entry.
I omitted the several Porteus dev version entries, but you get the drift. You can install as many different Linux variants as you want, either by using the individual files like I did, or the whole ISO way as Ed_P mentioned above. I usually prefer the individual files approach, since it lets me easily fine adjust individual modules for Porteus, and I like being able to add, update or remove modules that are missing, unneeded or outdated, e.g. installing the custom NVIDIA kernel GPU drivers without the need of creating a custom ISO for just that one machine. Or adding mtPaint, or updating mtpaint, or any such changes.
HTH!