Dual boot configuration: how to make Puppy the default?

Using applications, configuring, problems
Post Reply
Message
Author
fmen
Posts: 51
Joined: Mon 07 May 2018, 12:22

Dual boot configuration: how to make Puppy the default?

#1 Post by fmen »

Hi, I am a brand new convert to Puppy(Xenialpup). So far, with the help of some incredibly patient and helpful forum members I was able to install and use my wireless printer. Thanks again.

I like Puppy so much that I would like to change the boot order to boot Puppy first and Windows 2nd. I installed Puppy using Lick and am hesitant to make changes fearing screwing things up.
Should I attempt the changes via Windows (BCDedit) or is there an easier way while through Linux?
Thanks.

User avatar
mikeslr
Posts: 3890
Joined: Mon 16 Jun 2008, 21:20
Location: 500 seconds from Sol

#2 Post by mikeslr »

Hesitating is a good idea. :D

I don't know lick about LICK. But I doubt changes via Windows (BCDedit) would be appropriate. I think it may be a simple text edit of lickgrub.cfg. But not having used LICK --only decompressed the package-- I don't know how/what it writes to the drive and was surprised that Xenialpup wasn't the first boot option.

So I hesitate to advise. I've emailed noryb009 --LICK's creator-- and alerted him to your post/question*.

While waiting for some more informative response, could you clarify: Was LICK installed to the hard-drive or is it only on a USB-Key?

mikesLr

* When having questions/issues about an application that has its own thread consider posting to that thread especially if discussions there are reasonably current.

noryb009
Posts: 634
Joined: Sat 20 Mar 2010, 22:28

#3 Post by noryb009 »

Thanks for pinging me, mikesLr!

fmen: Welcome to using Puppy!

There are a few different possible installs of LICK. Based on you mentioning BCDedit, I will assume you have a UEFI system on Windows Vista (or later). If you bought your computer in the last few years, this is likely the case. Try to follow the instructions below, but if you don't see the file, let me know:

* The version of Windows you have.
* The first menu you see when you start up.

Anyway, onto switching the order:

In Puppy, open up your Windows drive, and open lickgrub.cfg (you can also edit C:/lickgrub.cfg in Windows, but you might run into permission issues). You will see a bunch of blocks of text. One of them will be along the lines of:

Code: Select all

menuentry "Windows" {
    insmod chain
    search --set=root --file /EFI/Microsoft/boot/bootmgfw.efi
    chainloader /EFI/Microsoft/boot/bootmgfw.efi
}
Copy all of those lines and put it at the end of the file. Your lickgrub.cfg will now look like:

Code: Select all

## start header
insmod part_gpt
insmod part_msdos
insmod ntfs

set timeout=5
set default=0

insmod all_video
if loadfont /grub/fonts/unicode.pf2 ; then
    set gfxmode=auto
    set gfxpayload=keepthe instructions don't work
    terminal_output gfxterm
fi
## end header

## start section (something)
...
...
...
## end section (something)

menuentry "Windows" {
    insmod chain
    search --set=root --file /EFI/Microsoft/boot/bootmgfw.efi
    chainloader /EFI/Microsoft/boot/bootmgfw.efi
}
That should be it. This will move the Windows option to the end of the list when booting up, making it default to Puppy.

Note: If you make a mistake doing the above, you can still boot up Windows. When you boot up, you will get some error message. From there, you can enter the GRUB command line. On the command line, enter ALL the "insmod" commands you see above, followed by the "search" and "chainloader" commands inside the Windows menu entry.

fmen
Posts: 51
Joined: Mon 07 May 2018, 12:22

#4 Post by fmen »

Hi, first of all, thanks for making and distributing the great little program, Lick.

I have a lite version of Win 7 on dual boot. Lick installed Puppy on the C: drive.

The first boot screen is a choice between Windows and Puppy.
The second boot screen is a choice between the installed Puppy and the usb version of Puppy.
Unfortunately, the file lickgrub.cfg does not exist or at least I cannot find it on my system. I have hidden files checked as on.
There is a lickmenu.lst however.

User avatar
Flash
Official Dog Handler
Posts: 13071
Joined: Wed 04 May 2005, 16:04
Location: Arizona USA

#5 Post by Flash »

Fmen, it's always a good idea to make a copy of a file you're going to change and put the copy somewhere that Puppy can get to, in case the change breaks something. If I were going to modify the lickgrub.cfg file, I'd first copy it to a flash drive. If your change doesn't do what you expected, you can always boot a Puppy CD or DVD and replace the bad file with the copy from the flash drive.

noryb009
Posts: 634
Joined: Sat 20 Mar 2010, 22:28

#6 Post by noryb009 »

Hey fmen,

It looks like you have a system with BIOS. You should ignore my above instructions then.

To change the default in the first selection screen you have (Windows vs Puppy), you'll have to boot up Windows. The steps in this video should work for you. You only need to watch 0:44-3:25. You will know the entry that corresponds to Puppy by the "description" line (I think it is labeled "Windows Boot Loader" or something, just look for the one with the relevant description). I think EasyBCD would be able to do this as well, but I've never really used it, so I'm not sure.

Anyway, I've [made an issue](https://github.com/noryb009/lick/issues/28) to remind myself that a feature that does this from within LICK might be useful (but I haven't worked on LICK much lately, so it won't be implemented for quite a while).

fmen
Posts: 51
Joined: Mon 07 May 2018, 12:22

#7 Post by fmen »

Noryb, thank you. I am now booting Puppy first after following your instructions.

Also, I took a chance and edited the lickmenu.lst eliminating the <no save> option since I also have Puppy on a usb stick should I ever need to boot it in that fashion. It worked out just fine, but I still have to press <enter> at least once in order to start booting. How can I eliminate that keypress so it is fully automatic?

noryb009
Posts: 634
Joined: Sat 20 Mar 2010, 22:28

#8 Post by noryb009 »

That depends on when you need to press enter :P

In general, you should be able to. Also, check if you are just running into a long timeout (it should be 5 seconds on the first screen and 5 seconds on the second screen). For the former, you can run (in Windows, in an administrator prompt like in the video I posted earlier):

Code: Select all

bcdedit  /timeout 5
Where 5 is some number. For the latter, lickgrub.lst will have a line that looks like:

Code: Select all

timeout=5
where you can change the 5 to something else.

fmen
Posts: 51
Joined: Mon 07 May 2018, 12:22

#9 Post by fmen »

noryb009 wrote:That depends on when you need to press enter :P

In general, you should be able to. Also, check if you are just running into a long timeout (it should be 5 seconds on the first screen and 5 seconds on the second screen). For the former, you can run (in Windows, in an administrator prompt like in the video I posted earlier):

Code: Select all

bcdedit  /timeout 5
Where 5 is some number. For the latter, lickgrub.lst will have a line that looks like:

Code: Select all

timeout=5
where you can change the 5 to something else.

Noryb, if by lickgrub.lst you mean lickmenu.lst, changing the timeout does no automatically boot into xenialpup64-7.5-uefi. I still have to press enter to boot. Not a big deal, but ...

Here's the complete text of lickmenu.lst after eliminating the option of booting into the <no save> Puppy:

====================================
## start header
static timeout=2
static default=0
## end header

## start section xenialpup64-7.5-uefi
title xenialpup64 7.5 uefi
find --set-root --ignore-floppies /xenialpup64-7.5-uefi/vmlinuz
kernel /xenialpup64-7.5-uefi/vmlinuz pfix=fsck psubdir=xenialpup64-7.5-uefi
initrd /xenialpup64-7.5-uefi/initrd.gz
boot
## end section xenialpup64-7.5-uefi

=====================================

noryb009
Posts: 634
Joined: Sat 20 Mar 2010, 22:28

#10 Post by noryb009 »

That's a bit embarrassing...

Code: Select all

static timeout=2
static default=0
should be

Code: Select all

timeout=2
default=0
Thanks for pointing out the issue! I'm not sure when that crept in. I'll fix it upstream soon, but you can edit the file manually for now.

fmen
Posts: 51
Joined: Mon 07 May 2018, 12:22

#11 Post by fmen »

Perfect!

I really want to thank you again for Lick. The Puppy community is a lot richer for it. It allows newbies like me to instantly install Puppy with one click. I initially tried the installer within Puppy and I gotta tell you, it was a nightmare for me.

noryb009
Posts: 634
Joined: Sat 20 Mar 2010, 22:28

#12 Post by noryb009 »

Thanks for the feedback, I appreciate it :D

The installer can be confusing if you're new to Puppy, but I believe it's from the power it gives you - you can do things like partition your drive, full/frugal installs, USB installs, etc. With LICK, you can only get 1 type of install. It's a customizability/simplicity trade off, where LICK and the installer take opposite positions. If you stick around with Linux, you'll start wondering why you ever used LICK and will want your customizability back.

Post Reply