Cosa c'è di nuovo?
HWReload

Registrati e partecipa alle attività del forum

grub2: error: can't allocate initrd

Riccardo360

Nuovo utente
Iscritto dal:
19 Febbraio 2022
Messaggi
3
Ho pubblicato questo topic originariamente sul sito "askubuntu" e "superuser". Siccome sarebbe piuttosto faticoso ritrascriverlo in italiano, lo pubblico in inglese così com'è:

The OS with `Ubuntu 20.04.3 LTS Desktop 64-bit` is located in the gpt2 partition with the filesystem NTFS.

This is the structure of the gpt1 partition with the filesystem FAT32:

Codice:
.
├── boot
│   └── grub
│       └── grub.cfg
└── efi
    └── boot
        ├── bootx64.efi
        ├── grubx64.efi
        └── mmx64.efi

4 directories, 4 files

If the grub.cfg file (FAT32 partition) contains:

Codice:
search --no-floppy --set=root --fs-uuid 2E92F36515DD4A5A
chainloader /EFI/BOOT/BOOTx64.EFI
boot

After making a choice from the grub selection menu, placed in the default grub.cfg file (NTFS partition) which I have not shown as it is the same as the default contained within an iso image of `Ubuntu 20.04.3 LTS Desktop 64-bit`, the error message appears:

Codice:
error: can't allocate initrd.
Press any key to continue...

I have to underline that the NTFS partition bootloader starts correctly with the `chainloader` command, otherwise I would not have seen the grub selection menu, it is the `initrd` command that gives an error.

If instead the grub.cfg file (FAT32 partition) contains:

Codice:
search --no-floppy --set=root --fs-uuid 2E92F36515DD4A5A
configfile /boot/grub/grub.cfg

After the selection menu, everything works correctly, therefore the initrd command no longer gives an error.

What's wrong with running the NTFS partition bootloader to boot `initrd` using the default grub.cfg file inside it?
I have tested that if partition 2 has Windows, using `chainloader` everything works correctly.

UPDATE 1:
I tried to swap partitions, the error persists.

UPDATE 2:
I would like to get more detailed error output from the `initrd` command but I don't know how to do it.
I have tried to remove the word `quiet splash` from the chosen option in the default grub.cfg file (NTFS partition), in other words from the `linux` command, which precedes the `initrd` command, but the error output is still the same.

UPDATE 3:
Summarizing and clarifying what I am going to do, I from the partition with FAT32 do the chainload of the bootloader located on the NTFS partition.
If I boot the NTFS partition directly from BIOS, everything works, if instead I chainload starting from the FAT32 partition, problems appear.
Everything works correctly even if I call the menu of the grub.cfg (NTFS partition) using the `configfile` command rather than the `chainloader` command inside the `grub.cfg` file of the FAT32 partition, of which I have already shown the lines it contains.

UPDATE 4:
I am going to use the `chainloader` command anyway for generalization reasons, even being able to use the `configfile` command that would solve the problem, because I would have the possibility to execute the same command both to start a partition with Windows and Ubuntu.

UPDATE 5:
The `ntfs` module is already built into the bootloader of both partitions. The `lsmod` command confirmed this. In any case I have tried to insert `insmod ntfs` in the `grub.cfg` files of both partitions and, as expected, the error does not change.

UPDATE 6:
I don't boot NTFS partition directly from BIOS, because UEFI on older computers cannot read NTFS directly.
 
Ultima modifica:
Top