Package: grub-efi-amd64
Severity: critical

Even though i have not got any response or help getting the computer to work 
again, i read on the internet that help from Debian users is requested to fix 
grub-efi problems.
Not sure i can help, but i will at least try to explain what i eventually came 
up with to get a broken computer working again without a compete reinstall.

With this e-mail i am also trying to correct the severity level of this bug 
report to the proper one i see in the Debian descriptions for that which says 
"makes unrelated software on the system (or the whole system) break" should be 
set to critical.
And since that is what the package upgrade did and in the mean while also 
multiple other computers (various Mac desktop and laptop models) with the 
packet updates that became available after the initial bug report.

Since Wheezy packages are still usable to get the computers working again and 
the current packages are not, i searched for snapshots of in between packages.
The newest packages i found that are still usable for me on all the computers 
are 2.00-22_amd64.deb.
With that i eventually came up with the following solution that works for all 
computer types that were left in unbootable state after a normal "apt-get 
update && apt-get upgrade":

1. On any computer that still works, download the following package versions 
and put them on something like CD/DVD/USB for use later:
    grub2-common_2.00-22_amd64.deb
    grub-efi-amd64_2.00-22_amd64.deb
    grub-common_2.00-22_amd64.deb
    grub-efi-amd64-bin_2.00-22_amd64.deb
    grub-efi_2.00-22_amd64.deb
and also the netinst iso and write it to CD/DVD/USB in a way that it is 
bootable.

2. Boot the computer that stopped booting from netinst iso on CD/DVD/USB and 
use recovery mode from the menu to get a root terminal on the partition of the 
computer that stopped booting.

3. Execute the following commands in that root terminal:
# modprobe hfsplus
# mount -a
# apt-get purge grub-common grub2-common grub-efi grub-efi-amd64 
grub-efi-amd64-bin

Now mount and go to the location where you have put the downloaded *.deb files 
and then execute:

# dpkg -i grub*.deb

The following is very important to block apt from installing newer versions 
which will otherwise break the system again next upgrade.

# apt-mark hold grub-common grub2-common grub-efi grub-efi-amd64 
grub-efi-amd64-bin
# nano /usr/sbin/grub-install
and in nano (or what ever text editor you prefer) find the following lines:
    echo "### if test \"x$efi_fs\" = xfat; then :; else"
    echo "###    echo \"${efidir} doesn't look like an EFI partition.\" 1>&2"
    echo "###    efidir="
    echo "### fi"
delete those (or remark them by adding a # at the beginning of those lines) and 
is important, otherwhise the "efidir=" will get an empty result and 
grub-install writs noting to the /boot/efi mount which on Macs are in hfsplus 
instead of xfat.

After saving the changes above , execute:

# grub-install
# update-grub
# dpkg-reconfigure grub-efi-amd64

-- From here, probably still in tact from before, but if not or clean install 
further execute:

mkdir -p /boot/efi/System/Library/CoreServices
rm -f /boot/efi/System/Library/CoreServices/boot.efi
ln /boot/efi/EFI/debian/grubx64.efi 
/boot/efi/System/Library/CoreServices/boot.efi
touch /boot/efi/mach_kernel
echo "Dummy mac-mach-kernel required for booting"> /boot/efi/mach_kernel
And in /boot/efi/System/Library/CoreServices/SystemVersion.plist put:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" 
"http://www.apple.com/DTDs/PropertyList-1.0.dtd";>
<plist version="1.0">
<dict>
<key>ProductBuildVersion</key>
<string>Debian GNU/Linux Jessie</string>
<key>ProductCopyright</key>
<string>Debian GNU/Linux</string>
<key>ProductName</key>
<string>Debian GNU/Linux</string>
<key>ProductUserVisibleVersion</key>
<string>Jessie</string>
<key>ProductVersion</key>
<string>Jessie</string>
</dict>
</plist>

The system now boots again and keeps working with the grub-efi packages on hold.
Apt will tell you they are on hold and can of course be undone by executing:
# apt-mark hold grub-common grub2-common grub-efi grub-efi-amd64 
grub-efi-amd64-bin
But be aware that an upgrade to a version higher that 2.00-22 will break the 
system again.
All upgrades before that since Wheezy to Jessie and since then up to 2.00-22 
worked fine, after that version everything breaks the system and leaves it in 
unbootable state again.

I hope this information helps or is otherwise usable and can only say it works 
for me.

                                          

--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to