Đã quay lại tùy chọn Ngủ đông, nhưng không thể tiếp tục từ Hibernate


10

Trong Ubuntu 12.04 của tôi, tùy chọn ngủ đông đã hoạt động tốt và tốt. Tuy nhiên, gần đây tôi đã cài đặt Debian trên một phân vùng khác và khi tôi cố gắng khởi động lại Ubuntu, tôi nhận được một thông báo trên màn hình khởi động với nội dung:

Ổ đĩa cho / chưa sẵn sàng hoặc chưa có. Tiếp tục đợi; hoặc nhấn s để bỏ qua việc gắn hoặc M để phục hồi thủ công.

Sau khi đăng nhập vào Ubuntu, tôi thấy rằng tùy chọn ngủ đông của tôi đã bị mất.

Có cách nào để phục hồi tùy chọn ngủ đông?

EDIT: Tôi đã giải quyết vấn đề ổ đĩa và tôi đã nhận được tùy chọn ngủ đông. Khi tôi thực hiện "sudo pm-hibernate", hệ thống của tôi chuyển sang chế độ ngủ đông. Tuy nhiên, khi bật nguồn lại, nó khởi động bình thường và do đó không có hiệu ứng ngủ đông.

Làm thế nào điều này có thể được khắc phục?

EDIT1: Hệ thống - Lenovo ideapad s10-2.

nhập mô tả hình ảnh ở đây

EDIT2: / etc / fstab

nhập mô tả hình ảnh ở đây

EDIT3: Ảnh chụp màn hình đĩa cứng của tôi.

nhập mô tả hình ảnh ở đây

Câu trả lời:


12

Tôi giả sử bạn đã cài đặt Debian theo cách nó sử dụng phân vùng trao đổi riêng của nó. Nếu bạn chưa làm như vậy, tôi khuyên bạn nên làm như vậy (tạo một phân vùng trao đổi khác và thay đổi các /etc/fstabtệp tương ứng), bởi vì các hệ điều hành quá khác nhau ghi vào cùng một phân vùng trao đổi có thể loại bỏ dữ liệu ngủ đông được lưu trữ trên phân vùng bởi hệ điều hành khác.

Sau đó, bạn phải đảm bảo rằng hệ điều hành bạn muốn sử dụng chế độ ngủ đông (thường là cả hai), ghi vào phân vùng chính xác. Điều này được cấu hình trong /etc/initramfs-tools/conf.d/resumetập tin. Bạn phải đặt UUID của phân vùng trao đổi chính xác trong đó (sử dụng sudo blkid /dev/$device_nameđể lấy UUID). Cuối cùng, bạn cần cập nhật ramdisk ban đầu:

sudo update-initramfs -u -k all

Điều đó sẽ sửa nó.


1
Điều này làm việc hoàn toàn tốt. Cảm ơn bạn, tôi đã ngủ đông trở lại. :)
harisibrahimkv

1
Tôi, cũng có vấn đề nối lại từ ngủ đông. Sau khi bằng cách nào đó thay đổi UUID của phân vùng trao đổi của tôi, hệ thống của tôi sẽ không hoạt động trở lại cho dù tôi có vẻ như làm gì. Khắc phục /etc/initramfs-tools/conf.d/resume của tôi , bằng cách sao chép UUID từ sudo blkiddường như đã khắc phục sự cố.
TSJNachos117

2

Thật không may, hibernate không hoạt động trong nhiều trường hợp, điều này có thể khiến bạn mất dữ liệu nếu bạn muốn các tài liệu và ứng dụng của mình mở lại khi bạn bật lại máy tính. Do đó, ngủ đông bị tắt theo mặc định.

Kiểm tra nếu ngủ đông hoạt động

Lưu ý : Luôn lưu công việc của bạn trước khi ngủ đông
Bạn nên lưu tất cả công việc trước khi ngủ đông máy tính, trong trường hợp có sự cố và các ứng dụng và tài liệu đang mở của bạn không thể được phục hồi khi bạn bật lại máy tính.

Bạn có thể sử dụng dòng lệnh để kiểm tra nếu ngủ đông hoạt động trên máy tính của bạn.

  1. Mở Terminal bằng cách nhấn Ctrl+ Alt+ Thoặc bằng cách tìm kiếm terminal trong Dash.

  2. Nhập sudo pm-hibernatevào thiết bị đầu cuối và nhấn Enter.
    Nhập mật khẩu của bạn khi được nhắc.

  3. Sau khi máy tính của bạn tắt, bật lại. Các ứng dụng đang mở của bạn đã mở lại chưa?

Nếu ngủ đông không hoạt động, hãy kiểm tra xem phân vùng trao đổi của bạn có lớn nhất bằng RAM có sẵn của bạn không.

Kích hoạt chế độ ngủ đông

Nếu thử nghiệm ngủ đông hoạt động, bạn có thể tiếp tục sử dụng sudo pm-hibernatelệnh khi bạn muốn ngủ đông.

Bạn cũng có thể kích hoạt tùy chọn ngủ đông trong các menu. Để làm điều đó, sử dụng trình soạn thảo văn bản yêu thích của bạn để tạo /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla. Thêm phần sau vào tệp và lưu:

[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate; org.freedesktop.login1.hibernate-multiple-sessions
ResultActive=yes

Khởi động lại và ngủ đông đã trở lại!

Hoặc chạy killall unity-panel-serviceđể chỉ thiết lập lại menu.

Một số người dùng sau đó sẽ cần phải chạy sudo update-grubđể có tùy chọn ngủ đông có sẵn trong menu nguồn. Một số người dùng cũng có thể phải đăng xuất ít nhất sau đó đăng nhập để xuất hiện trong menu nguồn (phía trên bên phải).

Nguồn : Ubuntu Docs - Power Hibernate

Nguồn : Ubuntu Wiki - Gỡ lỗi Kernel Hibernate


0

Cố gắng thêm nobootwaittùy chọn vào /etc/fstab, một cái gì đó như thế này:

/dev/sda1 / ext4 rw,nobootwait 0 1


Bạn có thể làm rõ điều đó? My / etc / fstab có mục nhập sau cho phân vùng trao đổi của tôi: # exchange was on / dev / sda8 trong khi cài đặt UUID = 08a07061-165b-4f0a-87c3-470a02d1ea4c không có hoán đổi sw 0 0 chờ đợi "?
harisibrahimkv

Bạn cần thêm nó vào điểm gốc của bạn, không phải trao đổi. Đăng fstab đầy đủ của bạn, và tôi sẽ gửi cho bạn phiên bản cập nhật.
Frantique

Tôi đã thêm nó vào câu hỏi.
harisibrahimkv

1
lỗi = remount-ro, nobootwait
Frantique

0

Khi đi vào chế độ ngủ đông, hình ảnh đầy đủ về RAM của bạn sẽ được sao chép để trao đổi. Vì vậy, hầu hết thời gian mọi người có vấn đề với ngủ đông không hoạt động, trao đổi của họ là quá nhỏ.

Bạn cần ít nhất trao đổi nhiều như bạn có RAM. Nếu bạn có nhiều RAM, hãy đặt swappiness = 0 . Vì vậy, nếu bạn có 8GB RAM, hãy sử dụng 8,5 hoặc 9GB trao đổi. Nếu bạn có 4GB RAM, 6GB trao đổi là một con số tốt.


Tôi có RAM 1GB và tôi có dung lượng trao đổi 1,95GB. Câu hỏi cập nhật với một ảnh chụp màn hình của đĩa cứng của tôi.
harisibrahimkv

0

Theo tôi biết Linux bao gồm Ubuntu nên đã cài đặt không gian hoán đổi gấp 2 lần ram.

Một số cách cấu hình máy tính xây dựng tùy chỉnh của tôi không thể sử dụng hibernate tho Tôi có nhiều hơn sau đó đủ không gian trao đổi. hình ảnh

Nếu bạn nghĩ rằng hoán đổi của bạn đang làm bạn chậm lại, bạn có thể sử dụng tập lệnh này tôi tìm thấy trên internet. Nó làm sạch trao đổi.

#!/bin/bash

free_data="$(free)"
mem_data="$(echo "$free_data" | grep 'Mem:')"
free_mem="$(echo "$mem_data" | awk '{print $4}')"
buffers="$(echo "$mem_data" | awk '{print $6}')"
cache="$(echo "$mem_data" | awk '{print $7}')"
total_free=$((free_mem + buffers + cache))
used_swap="$(echo "$free_data" | grep 'Swap:' | awk '{print $3}')"

echo -e "Free memory:\t$total_free kB ($((total_free / 1024)) MB)\nUsed swap:\t$used_swap kB ($((used_swap / 1024)) MB)"
if [[ $used_swap -eq 0 ]]; then
    echo "Congratulations! No swap is in use."
elif [[ $used_swap -lt $total_free ]]; then
    echo "Freeing swap..."
    swapoff -a
    swapon -a
else
    echo "Not enough free memory. Exiting."
    exit 1
fi

Tôi có sẵn không gian hoán đổi gấp 2 lần. Cảm ơn vì đã góp ý.
harisibrahimkv
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.