Không thể tiếp tục sau khi ngủ đông


8

Tôi đã sử dụng chế độ ngủ đông với Ubuntu 16.04 mà không gặp vấn đề gì nhưng đột nhiên nó ngừng hoạt động chính xác. Cho dù tôi ngủ đông từ menu nguồn hoặc đang sử dụng sudo pm-hibernate, nó sẽ tắt máy tính nhưng khi tôi bật lại và chọn Ubuntu từ menu grub, nó chỉ cho một màn hình đen. Tôi đã thử một số giải pháp (được liệt kê dưới đây) nhưng không có giải pháp nào hiệu quả.

Tôi thực sự thất vọng vì với mỗi bản phát hành Ubuntu tôi sử dụng, tôi thường gặp vấn đề tương tự với chế độ ngủ đông (với các máy tính xách tay khác nhau).

PS: Tôi đã khởi động kép với Windows 10, nhưng hibernate đã hoạt động hoàn hảo với nó trong một thời gian dài.

Không hoạt động:


Tôi có cùng một vấn đề với một máy tính xách tay của tôi - khi tôi trở về từ chế độ ngủ đông - màn hình đen. Đối với tôi, nó không bao giờ làm việc. "Cách giải quyết" cho máy tính xách tay của tôi là nhấn ALT + CTRL + F1, sau đó đợi vài giây, sau đó nhấn ALT + CTRL + F7. Điều đó mang nó trở lại với cuộc sống (trên máy tính xách tay của tôi).
Vanessa Deagan

Cảm ơn về lời đề nghị, đã không làm việc cho tôi mặc dù.
Karim Sonbol

Làm thế nào về việc chỉ đóng nắp của bạn và mở lại? (đáng để thử!)
Vanessa Deagan

Cảm ơn một lần nữa @VanessaDeagan, nhưng vẫn không có gì xảy ra.
Karim Sonbol

1
Nếu bạn chưa thấy nó: bug.launchpad.net/bugs/1743094
Steve

Câu trả lời:


9

Tôi đã có những vấn đề tương tự. Có một lỗi trong kernel gần đây nhất vào 16.04. Dưới đây là các bước rõ ràng tôi đã làm. Làm điều đầu tiên và, nếu nó giải quyết vấn đề cho bạn, dừng lại ở đó. Nếu không, tiếp tục.

1. Đặt máy tính khởi động với kernel trước

Bắt đầu với:

uname -r

Của tôi nói 4.13 ... Sau đó, làm:

grep -i "menuentry" "/boot/grub/grub.cfg

Bạn sẽ thấy các mục menu khác nhau trong grub. Trong trường hợp của tôi, cùng với "Ubuntu, với Linux 4.13 ...", có một tùy chọn menu để khởi động với kernel trước đó. Nó cho biết Ubuntu, với Linux 4.10.0-28-generic . Trong cùng một dòng, bạn có một cái gì đó như 'gnulinux-4.10.0-28-generic-advanced ... (một loạt các ký tự ở đây)' Sao chép văn bản đó, và sau đó chúng ta phải bảo grub2 khởi động với kernel đó theo mặc định:

sudo cp / etc / default / grub /etc/default/grub.back

sudo gedit / etc / default / grub

Sau đó, tôi chèn dòng này:

GRUB_DEFAULT = "gnulinux-advanced-4a50e1e8-56d9-413e-9954-55648888a31d> gnulinux-4.10.0-28-generic-advanced-4a50e1e8-56d9-413e-9954

Vui lòng không sao chép dòng này theo nghĩa đen, nhưng sử dụng đầu ra của lệnh grep trước đó như đã nói. Sau đó lưu và,

sudo update-grub

Sau đó khởi động lại và kiểm tra xem đầu ra của "uname -r" có phải là kernel cũ hơn không (4.10 ... trong trường hợp của tôi). Bạn có thể ngủ đông ngay bây giờ, hoặc không. Nếu không, tiến hành bước tiếp theo.

2. Cài đặt các công cụ khác nhau để ngủ đông hơn so với mặc định:

Trong trường hợp của tôi, sử dụng hạt nhân cũ hơn đã thoát khỏi màn hình đen của cái chết và cho phép tôi tiếp tục sau khi ngủ đông, nhưng nội dung của hình ảnh đĩa sẽ bị xóa sạch, tức là nó giống hệt với khởi động lại, không phải ngủ đông. Vì vậy, tôi đã cài đặt một số shit ngủ đông khác nhau:

sudo apt-get cài đặt uswsusp

Sau đó đóng thiết bị đầu cuối, mở lại và gõ:

sudo s2disk

Điều này được cho là để ngủ đông máy tính. Nếu, sau khi tiếp tục, mọi thứ là khi bạn rời khỏi nó, thì bạn đã giải quyết được vấn đề. Nhưng bạn vẫn cần chuyển sang bước 4 để nói với Ubuntu rằng bạn muốn sử dụng công cụ mới theo mặc định và bạn cũng muốn có các tùy chọn để ngủ đông trong các ứng dụng.

3. Nói với grub 2 nơi phân vùng trao đổi là:

Nó vẫn không hoạt động với tôi, vì vậy tôi phải nói với grub phân vùng trao đổi là ở đâu:

mèo / etc / fstab

Tôi có thể đọc ở đó "# exchange was on / dev / sda2 trong khi cài đặt", vì vậy tôi đã chỉnh sửa lại grub:

sudo gedit / etc / default / grub

Và thêm:

GRUB_CMDLINE_LINUX_DEFAULT = "intel_pstate = tắt sơ yếu lý lịch = / dev / sda2"

Phần quan trọng là "sơ yếu lý lịch = / dev / sda2" nhưng điều trước đó (intel blablabla) là có vì những lý do khác. Vâng, bước tiếp theo là:

sudo update-grub

Khởi động lại và thử lại để ngủ đông với một số thứ đang diễn ra (ví dụ: mở một bộ phim bằng vlc) với:

sudo s2disk

Nếu công cụ vẫn còn đó sau khi bạn tiếp tục, bạn đã giải quyết vấn đề.

4. Nói với Ubuntu để sử dụng công cụ ngủ đông mới mà bạn đã cài đặt thay vì mặc định:

Bây giờ bạn phải bảo Ubuntu sử dụng s2disk để ngủ đông thay vì những thứ đi kèm theo mặc định:

sudo gedit /etc/pm/config.d/00s ngủ_module

Và chèn vào đó:

SLEEP_MODULE = "uswsusp"

Lưu và đóng tập tin. Sau đó:

sudo gedit /etc/polkit-1/localauthority/50-local.d/enable-hibernate.pkla

Và chèn vào đó:

[Kích hoạt lại chế độ ngủ đông theo mặc định trong upower]

Danh tính = unix-user: *

Hành động = org.freedesktop.upower.hibernate

Kết quảActive = có

[Kích hoạt lại chế độ ngủ đông theo mặc định trong logind]

Danh tính = unix-user: *

Action = org.freedesktop.login1.hibernate; org.freedesktop.login1.handle-hibernate-key; org.freedesktop.login1; org.freedesktop.login1.hibernate-many-session; org.freedesktop. ức chế

Kết quảActive = có

Khởi động lại và thử lại.

5. Nếu sau khi chạy Bước 4, bạn không thể ngủ đông bằng cách sử dụng sudo systemctl hibernatethì hãy làm như sau

Bước 4 là không đủ để thực hiện chuyển đổi sang uswsusp trong Ubuntu 18.10.

Chỉnh sửa dịch vụ ngủ đông

sudo systemctl chỉnh sửa systemd-hibernate.service

Và thêm vào như sau

[Service]
ExecStart=
ExecStartPre=-/bin/run-parts -v -a pre /usr/lib/systemd/system-sleep
ExecStart=/usr/sbin/s2disk
ExecStartPost=-/bin/run-parts -v --reverse -a post /usr/lib/systemd/system-sleep

Cập nhật systemd

sudo systemctl daemon-tải lại

Kiểm tra thiết lập bằng cách chạy như sau

sudo systemctl ngủ đông


Cảm ơn, tôi đã chọn kernel cũ từ menu boot và hibernate hoạt động với nó. Tôi sẽ kiểm tra các bước cập nhật khác sau, nhưng tôi hy vọng họ sẽ sớm khắc phục kernel hiện tại.
Karim Sonbol

Trên thực tế, tôi đã chọn kernel cũ một lần từ menu grub và sau đó ngủ đông. Khi tôi mở lại và chọn tùy chọn "Ubuntu" bình thường mà không có tùy chọn nâng cao, nó sẽ ghi nhớ lựa chọn của tôi và sử dụng kernel cũ, và may mắn là tất cả các ứng dụng đang mở của tôi đều được sử dụng.
Karim Sonbol

Có lý do đặc biệt nào để không đơn giản gỡ cài đặt kernel mới và dính vào kernel cũ không?
lrkwz

3

@karim Tôi có một vấn đề tương tự ở đây là cách khắc phục nó:

Sử dụng UUID của phân vùng trao đổi thay vì điểm gắn của nó trong tham số RESUME resume=UUID=#ở cả hai /etc/default/grub/etc/initramfs-tools/conf.d/resume

Tạo một mục nhập cho phân vùng trao đổi /etc/fstab mà không có điểm gắn kết như thế này

# Entry for Swap : 
UUID=# none  swap    sw              0       0

Trong /etc/default/grubtôi đã sử dụng một mục riêng để nối lại chế độ ngủ đông

# FOR HIBERNATION 
GRUB_CMDLINE_LINUX="resume=UUID=..."

Tạo bộ chính sách trong chính quyền địa phương (pkla) như được giải thích bởi @Mephisto

Cập nhật initramfs và GRUB

sudo update-initramfs -u -k all
sudo update-grub

Khởi động lại, mở một số ứng dụng và sử dụng systemctl hibernate(không có sudo) để xem nó có hoạt động không


Tôi đã thiết lập mọi thứ, ngoại trừ 'sudo update-initramfs -u -k all' dường như đã khắc phục vấn đề của tôi. Cảm ơn bạn.
Zamicol

2

Tôi cũng gặp phải vấn đề này làm tôi khó chịu ... và cách khắc phục sau nhiều lần thử là cài đặt lại Ubuntu 18.04, và giờ nó đã hoạt động hoàn hảo. Tôi cũng đang sử dụng Trình điều khiển "đã thử nghiệm" của Nvidia, vì Nvidia là thủ phạm trước đây.

Có lẽ đó là ppa "sudo add-apt-repository ppa: trình điều khiển đồ họa" đã cài đặt "Extra" Stuff và / hoặc trình điều khiển 396 đã làm hỏng khả năng ngủ đông của máy tính xách tay của tôi. Dù bằng cách nào nó cũng hoạt động hoàn hảo tại thời điểm viết bài này với trình điều khiển được thử nghiệm của NVidia. Trước khi chuyển sang trình điều khiển Nouveau làm việc.


2

Cảm ơn tất cả các câu trả lời của bạn. Vấn đề đã được giải quyết trong Kernel 4.15. Tôi chỉ cần thử nó bây giờ và nó hoạt động. Rõ ràng hạt nhân HWE đã sửa nó ( linux-generic-hwe-16.04 package).

Nếu bạn đang sử dụng Ubuntu 16.04, bạn chỉ cần cài đặt các bản cập nhật mới nhất để nâng cấp kernel. Bạn có thể đọc thêm chi tiết về điều đó ở đây .

Phiên bản kernel hiện tại của tôi là 4.15.0-33-generic.

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.