Montowanie partycji NTFS, z niepoprawnie wyłączonego Windowsa


Miałem kiedyś problem z zamontowaniem partycji z dysku, który kiedyś był podłączony do komputera z Windowsem. Niestety komputer ten został nieprawidłowo wyłączony lub zahibernowany i wymagał ponownego uruchomienia Windowsa i zamknięcia aby móc tę partycję zamontować pod linuksem. Niestety nie posiadałem komputera z Windowsem aby to zrobić, a przy próbie montowania pod linuksem otrzymywałem komunikaty typu:

The disk contains an unclean file system (0, 0). Metadata kept in Windows cache, refused to mount. Failed to mount '/dev/sda1′: Operacja niedozwolona The NTFS partition is in an unsafe state. Please resume and shutdown Windows fully (no hibernation or fast restarting), or mount the volume read-only with the 'ro’ mount option.

lub

Error mounting system-managed device /dev/sda1: Command-line `mount „/media/sda1″’ exited with non-zero exit status 14: [mntent]: warning: no final newline at the end of /etc/fstab
Windows is hibernated, refused to mount.
Failed to mount '/dev/sda1′: Operation not permitted
The NTFS partition is in an unsafe state. Please resume and shutdown
Windows fully (no hibernation or fast restarting), or mount the volume
read-only with the 'ro’ mount option.

rozwiązanie tego problemu jest proste:

sudo ntfsfix /dev/sdXY

sdXY należy zastąpić swoim oznaczeniem partycji.

Montowanie partycji SWAP – linux

Gdy Wasz system nie korzysta z partycji swap, a chcecie żeby korzystał, możecie skorzystać z poniższej instrukcji.

Najpierw musimy mieć taką partycję stworzoną w odpowiednim programie np. gparted

Następnie sprawdzamy jakie UUID ma interesująca nas partycja poleceniem:
sudo blkid -c /dev/null

Później wprowadzamy zmiany w pliku /etc/fstab
UUID=b0e26f5f-a944-4fe7-8a5f-b3c2dc1bf5c7 none swap 0 0
gdzie b0e26f5f-a944-4fe7-8a5f-b3c2dc1bf5c7 zastępujemy ciągiem znaków wyświetlonych we wcześniejszym kroku.

Od następnego uruchomienia system będzie już korzystał z tej partycji jako partycji wymiany.

Jak dodać użytkownika do grupy vboxusers

Korzystając z VirtualBox i chcąc korzystać z USB pod „systemem gościem”, czasami pojawia się błąd:

Nie udało się uzyskać dostępu do podsystemu USB.
VirtualBox is not currently allowed to access USB devices. You can change this by adding your user to the 'vboxusers' group. Please see the user manual for a more detailed explanation.

Rozwiązanie:
Wpisz w konsoli polecenie dodające bieżącego użytkownika do grupy vboxusers:

sudo usermod -a -G vboxusers $USER

Aby sprawdzić w jakich grupach jest bieżący użytkownik wykonaj:

groups $USER

Montowanie nośników USB dla całego systemu

udisks 2 - ubuntu 14.04Po instalacji Ubuntu 14.04 w wersji alfa zorientowałem się, że występuje w nim problem (przynajmniej dla mnie) montowania wszelakich nośników podłączanych do USB w katalogu przeznaczonym tylko dla jednego użytkownika.

Ponieważ całą kolekcję zdjęć trzymam na takim zewnętrznym nośniku (dysk 500Gb), to aby program do katalogowania zdjęć (digikam) działał jednakowo (wspólna konfiguracja i baza) dla wszystkich użytkowników systemu potrzeba jest, aby taki dysk zewnętrzny ze zdjęciami montowany był w tym samym miejscu dla każdego użytkownika. (w tej chwili montowany jest w /media/{$USER}/)

Powodem jest udisks2.

Na szczęście jest możliwość zmuszenia aby zewnętrzne peryferia montowane były niezależnie od użytkownika, zawsze w tym samym miejscu.

Należy w katalogu /etc/udev/rules.d/ znaleźć regułę dotyczącą udisks2, której plik to 99-udisks2.rules lub na początku z inną liczbą.
A w nim wprowadzić jedną linijkę kodu:

ENV{ID_FS_USAGE}==”filesystem”, ENV{UDISKS_FILESYSTEM_SHARED}=”1″

i ponownie uruchomić komuter lub wymusić stosowanie reguły poleceniem:

sudo udevadm control –reload

Od teraz dysk będzie montowany w kotalogu /media.


Tworzone pliki dostępne dla każdego, czyli umask pod kontrolą w Ubuntu 14.04

Nie wnikam czy to dopiero w 14.04 czy już w 13.10 nastąpiła zmiana.

Na moim domowym komputerze każdy domownik ma swoje konto co jest bardzo wygodne i polecam każdemu.

Problem pojawia się gdy np. żona zgrywa zdjęcia z aparatu na dysk a później ja na swoim koncie chcę coś z nimi zrobić.

file_permissions1Poprzednio aby tworzony przez użytkownika plik lub katalog był dostępny do odczytu i zapisu dla reszty uzytkowników tego komputera trzeba było w pliku .profile w katalogu domowym użytkownika ustawić flagę

umask 000 

W nowszych wydaniach ten parametr nie działa, a przynajmniej w pliku .profiles

Poszukując rozwiązania znalazłem je.

Nie wiem czy to bug pakietu upstart że nadpisuje ustawienia umask użytkownika czy nie, ale jest na to rozwiązanie:

należy skopiować plik /usr/share/upstart/sessions/gnome-session.conf
do katalogu $HOME/.config/upstart
i wstawić w nim umask 0002 przed linią exec gnome-session –session=$DESKTOP_SESSION


Ubuntu nie korzysta z pamięci wymiany – swap

Dzisiaj rano w firmie instalowałem ubuntu i windowsa na czystym dysku i ze względu na moją nieuwagę po zainstalowaniu obu systemów musiałem jeszcze partycję swap przenieść w inne miejsce.

I ku mojemu zdziwieniu (choć powinienem był się spodziewać) po starcie Ubuntu nie korzystało z tej partycji ( po prostu jej nie zamontowało)

Rozwiązanie tego problemu nie jest trudne. Cztery polecenia w konsoli, edycja dwóch plików i sprawa załatwiona.

Do rzeczy:

  • najpierw spojrzę gdzie Ubuntu szuka swap’a. Do tego wykonuję polecenie:
    cat /etc/fstab

    dzięki czemu wiemy jaką partycję chce zamontować system jako partycję wymiany

    # /etc/fstab: static file system information.
    #
    # <file system> <mount point>   <type>  <options>       <dump>  <pass>
    proc            /proc           proc    defaults        0       0
    # /dev/sda2
    UUID=41ac465d-dc23-49dc-9814-87dd1ae789e2 /               ext3    defaults,errors=remount-ro 0       1
    # /dev/sda3
    UUID=0cb007b8-1024-47ea-ac99-2760046b748c /home           ext3    defaults        0       2
    # /dev/sda1
    UUID=4638B0CA38B0B9EF /media/sda1     ntfs    defaults,umask=007,gid=46 0       1
    # /dev/sda4
    UUID=2f54d2b5-8947-41e9-b6b7-0f62d14d9b7f none            swap    sw              0       0
    /dev/scd0       /media/cdrom0   udf,iso9660 user,noauto,exec 0       0
    /dev/fd0        /media/floppy0  auto    rw,user,noauto,exec 0       0

    teraz muszę się dowiedzieć która partycja jest partycją wymiany i wpisuję:

    sudo fdisk -l

    i otrzymuję:

    Disk /dev/sda: 320.0 GB, 320072933376 bytes
    255 heads, 63 sectors/track, 38913 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Disk identifier: 0x8c8b8c8b

    Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1        2550    20482843+   7  HPFS/NTFS
    /dev/sda2            2551        7413    39062047+  83  Linux
    /dev/sda3            7414       29297   175783230   83  Linux
    /dev/sda4           29298       38913    77240520    f  W95 Ext’d (LBA)
    /dev/sda5           29298       29362      522081   82  Linux swap / Solaris
    /dev/sda6           29363       34461    40957686    7  HPFS/NTFS
    /dev/sda7           34462       38913    35760658+   7  HPFS/NTFS

    teraz muszę poznać UUID partycji sda5, wydaję polecenie:

    ls -l /dev/disk/by-uuid/

    wynik to:

    lrwxrwxrwx 1 root root 10 2008-06-11 10:11 0cb007b8-1024-47ea-ac99-2760046b748c -> ../../sda3
    lrwxrwxrwx 1 root root 10 2008-06-11 10:11 2f54d2b5-8947-41e9-b6b7-0f62d14d9b7f -> ../../sda5
    lrwxrwxrwx 1 root root 10 2008-06-11 10:11 41ac465d-dc23-49dc-9814-87dd1ae789e2 -> ../../sda2
    lrwxrwxrwx 1 root root 10 2008-06-11 10:11 4638B0CA38B0B9EF -> ../../sda1
    lrwxrwxrwx 1 root root 10 2008-06-11 10:11 7EBCB07FBCB0340D -> ../../sda7
    lrwxrwxrwx 1 root root 10 2008-06-11 10:11 FEDCA555DCA5094B -> ../../sda6

    edytuje plik fstab

    sudo gedit /etc/fstab

    i podmieniam linijkę

    UUID=4dds35ab-5632-8763-a65a-12ba45ff93b3 none            swap    sw              0       0

    na:

    UUID=2f54d2b5-8947-41e9-b6b7-0f62d14d9b7f none            swap    sw              0       0

    na koniec edytujemy jeszcze jeden plik:

    sudo gedit /etc/initramfs-tools/conf.d/resume

    i wpisujemy (podmieniamy)

    RESUME=UUID=2f54d2b5-8947-41e9-b6b7-0f62d14d9b7f

    teraz tylko

    sudo update-initramfs -u

    i restart komputera. Wszystko gra.