You are not logged in.
Sorry, this might be a super easy question for some but I have just started using linux and I was able to dual boot windows with arch. However, my ambition got to me and I wanted to install debian as well. Windows is on its own SSD, but I installed both linux distros on the same drive. The results of lsblk show that windows is installed in /dev/sda, and /dev/sdb is divided as follows:
sdb 8:16 0 447.1G 0 disk
├─sdb1 8:17 0 1G 0 part /boot/efi
├─sdb2 8:18 0 353G 0 part
└─sdb3 8:19 0 93.1G 0 part /
sdb2 has arch and sdb3 has debian. My problem is that when I installed debian, grub stopped recognizing arch. I can only boot into debian or windows. I have tried os-prober and using:
grub-mkconfig -o /boot/grub/grub.cfg
But the problem persists, I don't seem to be able to find arch. Sorry for being a true noob... I don't even know how to make the fancy formatting on this forum. Thanks in advance and please be nice, I have truely tried reading the arch wiki and even asked chatgpt but cannot solve my problem.
Offline
Does the `os-prober` command produce any output when run in isolation?
It should mount the partitions itself when looking but try mounting the Arch partition manually first to see if that makes a difference.
As a last resort a manual entry can be added to Debian's /boot/grub/custom.cfg, something like this should work (replace $uuid with the actual filesystem UUID for the Arch root partition):
menuentry 'Arch' {
search --fs-uuid --set=root $uuid
linux /boot/vmlinuz-linux rw quiet root=UUID=$uuid # other kernel parameters here
initrd /boot/initramfs-linux.img
}
Last edited by Head_on_a_Stick (2024-07-26 16:20:04)
"The nation-state domesticates the society in the name of capitalism and alienates the community from its natural foundations."
— Democratic Confederalism, Abdullah Öcalan.
Offline
The only output I get from os-prober is this:
/dev/sdb2@/efi/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:Windows:efi
I can try creating a manual entry, but isn't it supposed to detect the arch installation by itself or a way to "repair" the arch bootloader in case it's not detectable by grub or something? Thanks!
Offline
The os-prober command looks for kernel images so check the Arch partition for vmlinuz-linux*.
If you were using /dev/sdb1 for /boot/ in your Arch system the Debian installer might have deleted it.
"The nation-state domesticates the society in the name of capitalism and alienates the community from its natural foundations."
— Democratic Confederalism, Abdullah Öcalan.
Offline
So I just mounted sdb2 and tried this command in the mounted folder:
sudo find . | grep vmlinuz-linux.*
It has no output which I understood as if it's not there. I was using /dev/sdb1 as the ESP for Arch... what can I do now?
Offline
Just chroot into the Arch partition and reinstall the kernel to create a new kernel & initramfs image in /boot/ on the root partition and remove the ESP line from /etc/fstab.
Once that is done os-prober should be able to find the kernel and have a menuentry added.
"The nation-state domesticates the society in the name of capitalism and alienates the community from its natural foundations."
— Democratic Confederalism, Abdullah Öcalan.
Offline
After finally being able to chroot into my arch install from debian (had a couple of hiccups in the process). Re-installing the linux kernel while "chrooted" (lol, don't know how to express that) seems to have worked. I'm rebooting now after creating the new grub.cfg
I'll cross my fingers and hopefully my next message is confirming that I'm safely on my arch install. I'll give you an update in a minute.... Thanks again!
Offline
Unfortunately no... now Grub seems to detect something, but it doesn't let me boot into it. When I selected arch in the grub menu it said that I needed to load the kernel first. Do you know anything about that?
Offline
Please share the full grub.cfg from the Debian system.
EDIT: to reconfigure GRUB under Debian use
# dpkg-reconfigure grub-efi-amd64
# update-grub
Last edited by Head_on_a_Stick (2024-07-26 17:20:58)
"The nation-state domesticates the society in the name of capitalism and alienates the community from its natural foundations."
— Democratic Confederalism, Abdullah Öcalan.
Offline
The complete grub.cfg from the debian system is the following:
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
set have_grubenv=true
load_env
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="0"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_gpt
insmod btrfs
set root='hd1,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt3 --hint-efi=hd1,gpt3 --hint-baremetal=ahci1,gpt3 1c610aff-d4e9-487f-9eed-6e7076268779
else
search --no-floppy --fs-uuid --set=root 1c610aff-d4e9-487f-9eed-6e7076268779
fi
font="/@rootfs/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
set timeout=30
else
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=5
fi
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
insmod part_gpt
insmod btrfs
set root='hd1,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt3 --hint-efi=hd1,gpt3 --hint-baremetal=ahci1,gpt3 1c610aff-d4e9-487f-9eed-6e7076268779
else
search --no-floppy --fs-uuid --set=root 1c610aff-d4e9-487f-9eed-6e7076268779
fi
insmod png
if background_image /@rootfs/usr/share/desktop-base/emerald-theme/grub/grub-4x3.png; then
set color_normal=white/black
set color_highlight=black/white
else
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
fi
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
set gfxpayload="${1}"
}
set linux_gfx_mode=
export linux_gfx_mode
menuentry 'Debian GNU/Linux GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-1c610aff-d4e9-487f-9eed-6e7076268779' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod btrfs
set root='hd1,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt3 --hint-efi=hd1,gpt3 --hint-baremetal=ahci1,gpt3 1c610aff-d4e9-487f-9eed-6e7076268779
else
search --no-floppy --fs-uuid --set=root 1c610aff-d4e9-487f-9eed-6e7076268779
fi
echo 'Loading Linux 6.9.10-amd64 ...'
linux /@rootfs/boot/vmlinuz-6.9.10-amd64 root=UUID=1c610aff-d4e9-487f-9eed-6e7076268779 ro rootflags=subvol=@rootfs update-grub quiet
echo 'Loading initial ramdisk ...'
initrd /@rootfs/boot/initrd.img-6.9.10-amd64
}
submenu 'Advanced options for Debian GNU/Linux GNU/Linux' $menuentry_id_option 'gnulinux-advanced-1c610aff-d4e9-487f-9eed-6e7076268779' {
menuentry 'Debian GNU/Linux GNU/Linux, with Linux 6.9.10-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.9.10-amd64-advanced-1c610aff-d4e9-487f-9eed-6e7076268779' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod btrfs
set root='hd1,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt3 --hint-efi=hd1,gpt3 --hint-baremetal=ahci1,gpt3 1c610aff-d4e9-487f-9eed-6e7076268779
else
search --no-floppy --fs-uuid --set=root 1c610aff-d4e9-487f-9eed-6e7076268779
fi
echo 'Loading Linux 6.9.10-amd64 ...'
linux /@rootfs/boot/vmlinuz-6.9.10-amd64 root=UUID=1c610aff-d4e9-487f-9eed-6e7076268779 ro rootflags=subvol=@rootfs update-grub quiet
echo 'Loading initial ramdisk ...'
initrd /@rootfs/boot/initrd.img-6.9.10-amd64
}
menuentry 'Debian GNU/Linux GNU/Linux, with Linux 6.9.10-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.9.10-amd64-recovery-1c610aff-d4e9-487f-9eed-6e7076268779' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod btrfs
set root='hd1,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt3 --hint-efi=hd1,gpt3 --hint-baremetal=ahci1,gpt3 1c610aff-d4e9-487f-9eed-6e7076268779
else
search --no-floppy --fs-uuid --set=root 1c610aff-d4e9-487f-9eed-6e7076268779
fi
echo 'Loading Linux 6.9.10-amd64 ...'
linux /@rootfs/boot/vmlinuz-6.9.10-amd64 root=UUID=1c610aff-d4e9-487f-9eed-6e7076268779 ro single dis_ucode_ldr rootflags=subvol=@rootfs update-grub
echo 'Loading initial ramdisk ...'
initrd /@rootfs/boot/initrd.img-6.9.10-amd64
}
menuentry 'Debian GNU/Linux GNU/Linux, with Linux 6.9.9-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.9.9-amd64-advanced-1c610aff-d4e9-487f-9eed-6e7076268779' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod btrfs
set root='hd1,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt3 --hint-efi=hd1,gpt3 --hint-baremetal=ahci1,gpt3 1c610aff-d4e9-487f-9eed-6e7076268779
else
search --no-floppy --fs-uuid --set=root 1c610aff-d4e9-487f-9eed-6e7076268779
fi
echo 'Loading Linux 6.9.9-amd64 ...'
linux /@rootfs/boot/vmlinuz-6.9.9-amd64 root=UUID=1c610aff-d4e9-487f-9eed-6e7076268779 ro rootflags=subvol=@rootfs update-grub quiet
echo 'Loading initial ramdisk ...'
initrd /@rootfs/boot/initrd.img-6.9.9-amd64
}
menuentry 'Debian GNU/Linux GNU/Linux, with Linux 6.9.9-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.9.9-amd64-recovery-1c610aff-d4e9-487f-9eed-6e7076268779' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod btrfs
set root='hd1,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt3 --hint-efi=hd1,gpt3 --hint-baremetal=ahci1,gpt3 1c610aff-d4e9-487f-9eed-6e7076268779
else
search --no-floppy --fs-uuid --set=root 1c610aff-d4e9-487f-9eed-6e7076268779
fi
echo 'Loading Linux 6.9.9-amd64 ...'
linux /@rootfs/boot/vmlinuz-6.9.9-amd64 root=UUID=1c610aff-d4e9-487f-9eed-6e7076268779 ro single dis_ucode_ldr rootflags=subvol=@rootfs update-grub
echo 'Loading initial ramdisk ...'
initrd /@rootfs/boot/initrd.img-6.9.9-amd64
}
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/25_bli ###
if [ "$grub_platform" = "efi" ]; then
insmod bli
fi
### END /etc/grub.d/25_bli ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager (on /dev/sda2)' --class windows --class os $menuentry_id_option 'osprober-efi-CC29-C3BA' {
insmod part_gpt
insmod fat
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 CC29-C3BA
else
search --no-floppy --fs-uuid --set=root CC29-C3BA
fi
chainloader /efi/Microsoft/Boot/bootmgfw.efi
}
menuentry 'Arch Linux (on /dev/sdb2)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-ae2e908e-f8d8-4787-8a96-17b5142c4dd6' {
insmod part_gpt
insmod btrfs
set root='hd1,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2 ae2e908e-f8d8-4787-8a96-17b5142c4dd6
else
search --no-floppy --fs-uuid --set=root ae2e908e-f8d8-4787-8a96-17b5142c4dd6
fi
linux /boot/vmlinuz-linux root=/dev/sdb2
initrd /boot/initramfs-linux.img
}
submenu 'Advanced options for Arch Linux (on /dev/sdb2)' $menuentry_id_option 'osprober-gnulinux-advanced-ae2e908e-f8d8-4787-8a96-17b5142c4dd6' {
menuentry 'Arch Linux (on /dev/sdb2)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-linux--ae2e908e-f8d8-4787-8a96-17b5142c4dd6' {
insmod part_gpt
insmod btrfs
set root='hd1,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2 ae2e908e-f8d8-4787-8a96-17b5142c4dd6
else
search --no-floppy --fs-uuid --set=root ae2e908e-f8d8-4787-8a96-17b5142c4dd6
fi
linux /boot/vmlinuz-linux root=/dev/sdb2
initrd /boot/initramfs-linux.img
}
}
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/30_uefi-firmware ###
if [ "$grub_platform" = "efi" ]; then
fwsetup --is-supported
if [ "$?" = 0 ]; then
menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
fwsetup
}
fi
fi
### END /etc/grub.d/30_uefi-firmware ###
### BEGIN /etc/grub.d/35_fwupd ###
### END /etc/grub.d/35_fwupd ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg
fi
### END /etc/grub.d/41_custom ###
And the output after running the reconfigure code you posted is this one:
Installing for x86_64-efi platform.
Installation finished. No error reported.
Generating grub configuration file ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-6.9.10-amd64
Found initrd image: /boot/initrd.img-6.9.10-amd64
Found linux image: /boot/vmlinuz-6.9.9-amd64
Found initrd image: /boot/initrd.img-6.9.9-amd64
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Found Windows Boot Manager on /dev/sda2@/efi/Microsoft/Boot/bootmgfw.efi
Found Arch Linux on /dev/sdb2
Adding boot menu entry for UEFI Firmware Settings ...
done
Processing triggers for shim-signed:amd64 (1.40+15.7-1) ...
Last edited by jay_eff (2024-07-26 18:42:43)
Offline
Please change the quote tags to code tags, it will improve readability.
Looks like grub-mkconfig is using /dev/sdb2 as a root partition identifier, which is stupid. I forgot it does that
You can either use the custom menuentry I provided earlier or use grub-mkconfig in Arch to generate a working grub.cfg there and then add this to /boot/grub/custom.cfg in Debian:
menuentry 'Arch' {
search --fs-uuid --set=root $uuid
configfile /boot/grub/grub.cfg
}
In either case add this line to /etc/default/grub in Debian to prevent os-prober adding a non-functional Arch entry (again, replace $uuid with the correct string):
GRUB_OS_PROBER_SKIP_LIST=$uuid
"The nation-state domesticates the society in the name of capitalism and alienates the community from its natural foundations."
— Democratic Confederalism, Abdullah Öcalan.
Offline
Sorry about the quotes, will make them code the next time (I'm still figuring out how this forum works). I copied the grub.cfg from arch to debian and now I can only boot into arch and windows but not into debian. For me this is better because I prefer arch, but still haven't been able to make the full grub thing multiboot. In my exploration I noticed something "weird", my arch fstab says it's mounted in /boot, but my debian seems to be mounted into /boot/efi. Could that be the cause of all my problems? How could I solve this if that's the case?
Offline
Sorry about the quotes, will make them code the next time
Please edit your old post and change them now. Thanks.
I copied the grub.cfg from arch to debian
Why did you do that?
If you don't want to follow my suggestions please just tell me so I can stop wasting my time here.
in my exploration I noticed something "weird", my arch fstab says it's mounted in /boot
I told you to remove the ESP line from /etc/fstab in Arch.
"The nation-state domesticates the society in the name of capitalism and alienates the community from its natural foundations."
— Democratic Confederalism, Abdullah Öcalan.
Offline
Please edit your old post and change them now. Thanks.
Done.
Why did you do that?
I did that because that's what I understood from this:
use grub-mkconfig in Arch to generate a working grub.cfg there and then add this to /boot/grub/custom.cfg in Debian
Now that I re-read this I understand it was my mistake... I really am a complete noob and sometimes I just don't understand what you mean.
I told you to remove the ESP line from /etc/fstab in Arch.
Sorry man... when you mentioned that it was in this line:
Just chroot into the Arch partition and reinstall the kernel to create a new kernel & initramfs image in /boot/ on the root partition and remove the ESP line from /etc/fstab.
Which now I know I also misinterpreted. I understood that by reinstalling the kernel it automatically created a newkernel and initramfs image in boot AND it also removed the ESP line automatically... I didn't understand which parts had to be done by me or which were solved by the installation alone. Again... not my intention to be an idiot, I just misunderstood... That's why I went to check whether it had deleted the ESP line and found the "weirdness" in my exploration. I really don't mean to make you waste time... I just don't understand about half of the things I'm doing and I'm trying to do things based on your suggestions and the wiki. (I dind't even know how to format posts in this forum or how to chroot into arch, but I am really making an effort to understand stuff on the go). Sorry to bother so much. Can I ask for your advice on what to do now? Please don't be offended and please put yourself on a complete noobs shoes to understand that when you say things like:
Just chroot into the Arch partition and reinstall the kernel to create a new kernel & initramfs image in /boot/ on the root partition and remove the ESP line from /etc/fstab.
This might be obvious to you but it sounds like complete gibberish to a noob. A
Again... Sorry for screwing everything up.... I hope you don't get mad and can help me.
Offline
There's really no need to apologise, I was probably too concise in my posts.
To fix this first edit the /etc/fstab file in Arch linux to remove the line referring to the EFI system partition. This will ensure Arch's /boot/ is kept in the root partition when that system is booted.
Then edit /etc/default/grub in the Debian system and add the GRUB_OS_PROBER_SKIP_LIST line I posted above, using the correct filesystem UUID for the Arch partition. This will stop os-prober adding a broken Arch menuentry.
Now create a file at /boot/grub/custom.cfg in the Debian system containing the custom Arch menuentry I shared in my first post in this thread. Be sure to include the correct UUID rather than the "$uuid" placeholder.
Finally regenerate Debian's grub.cfg by running the `update-grub` command from that system. The auto-generated file will source the new custom.cfg file automatically.
"The nation-state domesticates the society in the name of capitalism and alienates the community from its natural foundations."
— Democratic Confederalism, Abdullah Öcalan.
Offline
Ok, so... this is the update. I tried to follow your instructions as closely as possible.
To fix this first edit the /etc/fstab file in Arch linux to remove the line referring to the EFI system partition. This will ensure Arch's /boot/ is kept in the root partition when that system is booted.
I was able to do this no problem.
Then edit /etc/default/grub in the Debian system and add the GRUB_OS_PROBER_SKIP_LIST line I posted above, using the correct filesystem UUID for the Arch partition. This will stop os-prober adding a broken Arch menuentry.
This was a little harder to do because I cannot boot into the debian system anymore. So I had to chroot into the debian system and do this. Despite the difficulties, this is also done.
Now create a file at /boot/grub/custom.cfg in the Debian system containing the custom Arch menuentry I shared in my first post in this thread. Be sure to include the correct UUID rather than the "$uuid" placeholder.
While in the "chrooted" debian I was able to create this using the uuid of the drive where arch is in both placeholders I could find.
Finally regenerate Debian's grub.cfg by running the `update-grub` command from that system. The auto-generated file will source the new custom.cfg file automatically.
In this one I ran into problems... I tried running the commands you mentioned:
# dpkg-reconfigure grub-efi-amd64
# update-grub
But the chroot didn't find the dpkg-reconfigure command. I used "whereis" to locate it and was able to execute it from the /usr/sbin/ directory. However it gave me this output:
/var/lib/dpkg/info/grub-efi-amd64.postinst: line 330: grub-install: command not found
Failed: grub-install --target=x86_64-efi --no-nvram
WARNING: Bootloader is not properly installed, system may not be bootable
/var/lib/dpkg/info/grub-efi-amd64.postinst: line 791: update-grub: command not found
I really hope I didn't screw up again... At this point I'm just considering formatting the drive, install arch cleanly and maybe when I get more knowledge in linux try to install debian in a partition like I'm trying now.
Offline
I'm really sorry, I didn't even consider that you can't boot into Debian. That was stupid of me.
The commands can't be found because they're in /sbin/ so when chrooting use this (presuming the Debian filesystem is mounted under /mnt/):
arch-chroot /mnt /bin/su -
[chroot] mount -a
^ That ensures correct login configuration, which will set PATH and allow the commands to be found.
EDIT: use arch-chroot instead, grub-install won't work otherwise.
EDIT2: or use a Debian installer ISO image and follow https://www.debian.org/releases/stable/ … 06.en.html to gain a shell in the Debian system.
Last edited by Head_on_a_Stick (2024-07-27 10:34:37)
"The nation-state domesticates the society in the name of capitalism and alienates the community from its natural foundations."
— Democratic Confederalism, Abdullah Öcalan.
Offline
So I did the arch-chroot with the command you suggested, mounted everything and the commands ran. It seemed like everything was going to work, but when I rebooted I ended out of both systems. The arch menu entry still said that I needed to load the kernel first (or something along those lines) and the debian entry (this time debian appeared, but windows didn't) started booting but failed in the process. I don't remember the exact error message but I think it was something about journalctl and not having a root. I must have screwed up something at some point that broke both installations. I ended up formatting the drive and installing just arch on that drive. Thanks for the patience and for your help. I still seem to have a long way ahead of me to understand more about what each thing does in linux...
Offline
Dual booting Debian & Arch is actually quite tricky, in fairness.
I prefer to use manual stanzas, which can take advantage of the /vmlinuz & /initrd.img symlinks in Debian that always point to the current kernel version.
"The nation-state domesticates the society in the name of capitalism and alienates the community from its natural foundations."
— Democratic Confederalism, Abdullah Öcalan.
Offline