Przy instalacji Sparky na laptopie - istniejący Win7 + dodatkowa partycja NTFS + nowa partycja /boot/efi + nowa zaszyfrowana partycja ext4 na system i konto użytkownika pod koniec instalacji pojawia się bład:
Wystąpił błąd Boost.Python w zadaniu "bootloader".
<class 'subprocess.CalledProcessError'>
Command 'grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Sparky --force' returned non-zero exit status 1.
Traceback:
File "/usr/lib/calamares/modules/bootloader/main.py", line 348, in run
prepare_bootloader(fw_type)
File "/usr/lib/calamares/modules/bootloader/main.py", line 319, in prepare_bootloader
install_grub(efi_directory, fw_type)
File "/usr/lib/calamares/modules/bootloader/main.py", line 244, in install_grub
"--force"])
File "<string>", line 2, in <module>
Co można z tym zrobić? O ile pamiętam chyba coś na tym laptopie nie do końca jest w porządku z bootloaderem. Jak uruchamiam Win7 to po oknie BIOSa pojawia się na moment napis MBR i dopiero potem startuje Windows.
Komputer Lenovo B570 Core i3 + 8GB RAM
Pozdrawiam,
Michał
Czy komputer posiada BIOS czy UEFI? Z tego co pamiętam Win 7 był instalowany na BIOSowych maszynach.
Ma coś o nazwie Phoenix Securecore Tiano. Do tej pory myślałem, że to taki dość prosty BIOS (bo ustawień ma niewiele), ale na stronie producenta widzę że to może być UEFI...
Nie wiem jak z laptopami sprawy stoją, ale osobiście spotkałem się z netbookiem od Asusa który miał win7 + UEFI. To tyle słowem dygresji. Z opisu podanego przez OP wygląda na to tu mamy BIOS nie UEFI. Pomocny był by wydruk komendy fdisk -l
bądź screen z programu gparted, wykonane z poziomu sparky w trybie live.
Uruchom Sparky w trybie live (usb, dvd) i wydaj polecenie w terminalu:
lsmod | grep efi
brak wyniku oznacza, że masz BIOS.
fdisk -l :
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x0d888eaa
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 206847 204800 100M 7 HPFS/NTFS/exFAT
/dev/sda2 206848 614402047 614195200 292.9G 7 HPFS/NTFS/exFAT
/dev/sda3 614422528 976768064 362345537 172.8G 83 Linux
/dev/sda4 614402048 614422527 20480 10M ef EFI (FAT-12/16/32)
Partition table entries are not in disk order.
Disk /dev/sdb: 7.3 GiB, 7790493696 bytes, 15215808 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 2048 15214591 15212544 7.3G c W95 FAT32 (LBA)
Disk /dev/loop0: 1.1 GiB, 1209364480 bytes, 2362040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
/dev/sdb to pendrive z ktorego wlasnie uruchomilem SparkyLive
sda1 i sda2 to partycje, ktore byly juz wczesniej, Na sda2 jest Win7. sda3 to Sparky na zaszyfrowanej partycji a sda4 to /boot/efi, ktora instalator polecil zalozyc...
lsmod | grep efi :
efi_pstore 16384 0
efivars 20480 1 efi_pstore
efivarfs 16384 1
No to masz tu mariaż uefi i bios . Win 7 jest zainstalowany w trybie legacy na dysku z tablicą partycji MS-DOS (mbr). Zainstaluj tak samo Sparky Linux.
A jak to zrobić? Instalator nie pytał o tryb instalacji...
Czy instalować tym instalatorem zaawansowanym?
Użyj dowolnego instalatora, obydwa wspierają instalację z uefi.
Masz UEFI zamiast BIOS i na 90 % zgaduję, że masz domyślnie ustawioną partycję dla EFI na /dev/sda1, więc sda4 jest zbędna i mogła tu namieszać.
Sparkowe efi powinno być zainstalowane na tej samej partycji co windowsowe, czyli sda1, bez formatowania tej partycji, ponieważ stracisz możliwość uruchomienia windy.
Na razie błąd ten sam.
Nakazałem utworzenie jednej zaszyfrowanej partycji /dev/sda3 a punkt montowania /boot/efi skierowałem na /dev/sda1 (bez formatowania). Jednak instalator usilnie upierał się przy ustawieniu flag 'boot' i 'esp' dla dev/sda1
Miała ona wcześniej już ustawioną 'boot', ale 'esp' nie daje się nadać. Pewnie to dlatego, że jest ona NTFS - instalator zresztą też sugeruje, że powinna być FAT32.
Co dalej?
A może teraz ją sformatować jako FAT32 a potem jakoś (da się?, jak?) odzyskać możliwość uruchamiania z niej Win7?
No cóż, nie udało mi się doinstalować Sparky do istniejącego Win7. Instalator Sparky twierdził, że musi się zainstalować w trybie UEFI (BTW w BIOSie nie ma opcji legacy, więc nie mogłem mu zasymulować "tradycyjnego" BIOSu). Przy którejś z kolei próbie skasowałem partycję z Win7 i postanowiłem zainstalować wszystko od nowa. Sparky zainstalował się super (zmieniłem rodzaj tablicy partycji z MBR na GPT) natomiast nie dał się doinstalować Win7 - twierdził, że dysk ma GPT (to prawda) a on musi mieć MBR. Gdybym zmienił na MBR (przećwiczyłem już wcześniej) nie mógłbym doinstalować Linuksa, bo ten upierałby się przy trybie UEFi (gdzie pierwsza partycja powinna być /boot/efi sformatowana jako FAT16 lub FAT32 - a instalator Win7 zakładał tam partycję systemową 100MB i NTFS). Błędne koło.
Zatem zainstalowałem Linuksa, a Win7 doinstalowałem pod VirtualBoxem...
Ale jest inny problem - Sparky się nie wyłącza. Dochodzi do komunikatu 'Reached target shutdown' i zatrzymuje się. Problem nie dotyczy tylko tego systemu - Mint również się nie wyłącza. Nie wiem, czy należy zapodać dodatkowe opcje jądra (obecnie mam 'quiet splash'), czy też skompilować jądro samemu z innymi opcjami? Przeglądałem inne fora i porady, problem sporadycznie występuje, ale z tego co widzę nie ma jakiegoś konkretnego rozwiązania go...
A co Wy myślicie? Reboot działa, hibernacja nie (też wisi).