Domyślne uruchamianie Windowsa za pomocą GRUB boot loadera

Jakiś czas temu kupiłem nowego kompa i stary w schedzie przypadł mojej żonie. Mimo moich usilnych działań uświadamiających nadal przedkłada ona Windowsa ponad Linuxa więc jak tylko dostała laptopa w swoje władanie wierciła mi dziurę w brzuchu aby usunąć z dysku Ubuntu, a przynajmniej sprawić aby domyślnie uruchamiał się Windows 7.

Zmiana kolejności uruchamiania w GRUB boot loaderze jest dość prostą czynnością wielokrotnie opisywaną w necie. Należy jednak zwrócić uwagę na wersję GRUB-a, gdyż w przypadku np. najnowszego Ubuntu używany jest GRUB2, w którym zmianę kolejności bootowania robi się nieco inaczej.

Przede wszystkim należy wyedytować odpowiedni plik

sudo /etc/default/grub

i odnaleźć w nim opcję GRUB_DEFAULT domyślnie ustawioną na 0

GRUB_DEFAULT=0

Liczba odnosi się do pozycji w menu bootowania. Taka lista wpisów może wyglądać następująco:

Ubuntu, Linux 3.0.0-17-generic
Ubuntu, Linux 3.0.0-17-generic (recovery mode)
memory test (memtest86+)
memory test (memtest86+, serial console 115200)
Windows 7 (loader) (on /dev/sda1)

Tak więc aby ustawić Windowsa jako domyślnie uruchamiany system należało by opcji GRUB_DEFAULT przypisać 4

GRUB_DEFAULT=4

Na koniec niezbędnym jest jeszcze aktualizacja ustawień GRUBA2 poprzez wykonanie polecenia

sudo update-grub

To wystarcza by zmienić kolejność bootowania. Jednak jest mały problem. Polega na tym, że przy aktualizacji kernela do nowej wersji do menu dodawane są nowe linie i wpis dotyczący Windowsa przesuwa się na dalszą pozycję. Można oczywiście każdorazowo aktualizować ustawienia GRUB2-a jednak jest lepsze rozwiązanie.

W pliku /boot/grub/grub.cfg odszukujemy sekcję odpowiedzialną za uruchamianie Windowsa

menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
	insmod part_msdos
	insmod ntfs
	set root='(hd0,msdos1)'
	search --no-floppy --fs-uuid --set=root 24B2367EB2365510
	chainloader +1
}

i do opcji GRUB_DEFAULT przypisujemy tytuł wpisu zamiast jego numeru

GRUB_DEFAULT="Windows 7 (loader) (on /dev/sda1)"

W ten sposób co prawda pozycja wpisu w menu się nie zmieni, ale za to przy inicjalizacji domyślnie zaznaczona będzie pozycja w menu dotycząca Windowsa i jeżeli nie zareagujemy to po czasie określonym w opcji GRUB_TIMEOUT uruchomi się Windows.

Jak już pisałem aktualizację ustawień GRUB2 kończy polecenie sudo update-grub. Bez jego wykonania zmiany w ustawieniach nie zostaną uwzględnione.

Stan baterii w laptopie – linux

Zaniepokoił mnie wskaźnik stanu naładowania baterii. Kilka godzin pracy na laptopie z podpiętym zasilaczem a 48% jak było tak było i nic nie chciało się ruszyć.

Polecenie:

cat /proc/acpi/battery/BAT1/info

Dało wynik:

present:                 yes
design capacity:         39960 mWh
last full capacity:      46320 mWh
battery technology:      rechargeable
design voltage:          11100 mV
design capacity warning: 420 mWh
design capacity low:     156 mWh
cycle count:              0
capacity granularity 1:  264 mWh
capacity granularity 2:  3780 mWh
model number:            PABAS024
serial number:           3658Q
battery type:            LION
OEM info:                LG

Czy to jest w ogóle możliwe aby projektowana pojemność baterii (design capacity) była mniejsza od ostatnio odnotowanej pełnej pojemności (last full capacity)? Mój laptop ma zaledwie dwa miesiące licząc od daty zakupu. Czy wartość pojemności projektowanej jest specjalnie zaniżana przez producentów, abym w przypadku sprawdzenia parametrów baterii – dajmy na to po roku użytkowania – czuł się bardziej komfortowo z powodu teoretycznie mniejszego zużycia baterii? A może te parametry są po prostu źle odczytywane?

Tak czy inaczej nie zmienia to faktu, że pomimo podłączonego zasilacza moja bateria zwyczajnie się nie ładowała. Pod Windowsem dostałem przynajmniej czytelny komunikat, natomiast widżet w KDE zwyczajnie mnie okłamywał. Jak już jesteśmy przy KDE to przy okazji zakupu nowego laptopa zdecydowałem się powrócić do KDE po zawodzie jaki mi sprawiło Unity. Znajomy zapewniał mnie, że Plasma została już dopracowana – NIE ZOSTAŁA.

Wracając jednak do baterii. Wykonałem kilkakrotnie polecenie:

cat /proc/acpi/battery/BAT1/state

Dało wynik:

present:                 yes
capacity state:          ok
charging state:          charged
present rate:            0 mW
remaining capacity:      22230 mWh
present voltage:         10924 mV

Wartość remaining capacity nie ulegała zmianie. Postanowiłem rozładować całkowicie baterię, a później spróbować ją naładować od zera. Czekając na rozładowanie baterii znalazłem i trochę zmodyfikowałem skrypcik w bash-u pokazujący stan baterii – (może się komuś przyda).

#!/bin/sh
 
CUR=`cat /proc/acpi/battery/BAT*/state | grep remaining | awk {'print $3'}`
STATE=`cat /proc/acpi/battery/BAT*/state | grep charging | awk {'print $3'}` 
MAX=`cat /proc/acpi/battery/BAT*/info | grep full | awk {'print $4'}`
DESIGN=`cat /proc/acpi/battery/BAT*/info | grep 'design capacity:' | awk {'print $3'}`
PRC=0
 
REAL_CAP=$(($MAX*100/$DESIGN))
PRC=$(($CUR*100/$MAX))
if [ $PRC -gt 100 ]; then
    PRC=100
fi 
 
echo 'State : '$STATE
echo 'Design Battery Capacity : '$DESIGN' (100%)'
echo 'Real Battery Capacity : '$MAX' ('$REAL_CAP'%)'
echo 'Current Battery capacity : '$CUR' ('$PRC'%)'

Po całkowitym rozładowaniu, przy wyłączonym komputerze podłączyłem zasilacz. Dioda zaczęła pokazywać, że bateria się ładuje. I rzeczywiście bateria naładowała mi się całkowicie. Nie jestem sprzętowcem i nie czytam fachowej prasy dlatego nie wiem czy to prawidłowe działanie – jakieś zabezpieczenie przed przedwczesnym zużyciem baterii czy też objaw uszkodzenia sprzętu? W innych laptopach, z którymi się spotkałem mogłem w każdej chwili doładować baterię.