Tôi đã phá vỡ Hệ thống con Windows Linux (Bash trên Ubuntu trên Windows 10). Trợ giúp Linux?


22

Tôi đã chơi với hệ thống con linux mới trên Windows và bằng cách nào đó tôi đã phá vỡ nó và bây giờ hầu hết các phần bên trong của Ubuntu (apt-get, dpkg, v.v.) không hoạt động. Tất cả mọi thứ tôi thử một cái gì đó tôi nhận được cùng một tin nhắn ...

    Setting up udev (204-5ubuntu20.19) ...
initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: No such file or directory
runlevel:/var/run/utmp: No such file or directory
 * udev requires devtmpfs support, not started
   ...fail!
invoke-rc.d: initscript udev, action "restart" failed.
dpkg: error processing package udev (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of systemd-services:
 systemd-services depends on udev (>= 175-0ubuntu23); however:
  Package udev is not configured yet.

dpkg: error processing package systemd-services (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of libpam-systemd:amd64:
No apport report written because the error message indicates its a followup error from a previous failure. libpam-systemd:amd64 depends on systemd-services (= 204-5ubuntu20.19); however:
  Package systemd-services is not configured yet.


dpkg: error processing package libpam-systemd:amd64 (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
 udev
 systemd-services
 libpam-systemd:amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)

Bất kỳ ý tưởng làm thế nào để sửa lỗi này?


Có tùy chọn "thiết lập lại" hoặc gỡ cài đặt / cài đặt lại không? Đó có lẽ là dễ nhất và nhanh nhất. Bất cứ ý tưởng những gì bạn đã làm để có điều này xảy ra? Xóa root ( /) hay cái gì?
Xen2050

1
Trên AskUbfox , hãy thử: sudo apt-get install upstart-sysv để khắc phục nhanh - bài đăng đó cũng có liên kết đến bản sửa lỗi "được đề xuất". Không chắc đó là vấn đề tương tự, nhưng có vẻ như nó thể liên quan.
thợ thuộc da


1
@ Ramhound Tôi không hỏi cách cài đặt lại Bash trên Ubuntu trên Windows 10, tôi đã hỏi cách khắc phục sự cố. Tôi chưa bao giờ gặp vấn đề này trong Ubuntu. Nếu đi hạt nhân đang khắc phục sự cố, thì tôi không muốn ở bên khi họ khắc phục sự nóng lên toàn cầu
Mike Pengelly

1
@Ramhound Nhưng tôi không trả lời câu hỏi của tôi. Điều đó giống như nói "cài đặt lại cửa sổ mỗi khi bạn nhận được thông báo lỗi" hoặc "mua một chiếc xe mới mỗi khi bạn nghe thấy tiếng ồn" .... Nó giải quyết vấn đề nhưng nó không phải là một giải pháp thực tế.
Mike Pengelly

Câu trả lời:


34

Cảnh báo, quá trình này sẽ khôi phục Lxss về cấu hình ban đầu

Để cài đặt lại, Lxss mở Windows cmdvới tư cách quản trị viên và chạy:

C:\WINDOWS\system32>LxRun.exe /uninstall

Sau đó:

C:\WINDOWS\system32>LxRun.exe /install

1
Tôi đã không đánh dấu đây là câu trả lời vì đó là cách tiếp cận hạt nhân cho vấn đề tôi đang gặp phải. Vâng, nó sẽ sửa nó (theo lý thuyết, tôi đã không thử), nhưng cách tôi sửa nó đã khắc phục vấn đề chính xác của tôi với việc ra hạt nhân. Nhưng nếu tôi tiếp tục gặp vấn đề, tôi sẽ khuyên bạn nên sử dụng phương pháp này nếu bạn muốn tiết kiệm hàng giờ. Mặc dù trong tương lai tôi nghi ngờ mọi người sẽ muốn cấu hình lại hệ thống con Linux mỗi khi có sự cố xảy ra.
Mike Pengelly

Vấn đề là với chính hệ thống con Ubuntu. Cài đặt lại nó sẽ không sửa chữa bất cứ điều gì
Panagiotis Kanavos

2
@PanagiotisKanavos cho những người trong chúng ta tìm câu hỏi qua google (đã tạo ra một mớ hỗn độn trong các bản cài đặt của chúng tôi): Tôi có thể đảm bảo với bạn câu trả lời vẫn được đánh giá rất cao!
Marc Gravell

2
Các bạn nói đúng, đây không phải là câu trả lời và chúng ta nên sử dụng nó như là lựa chọn cuối cùng.
Jonas

Tôi nhận được Access is denied.khi tôi chạy C:\WINDOWS\system32>LxRun.exe /uninstallngay cả khi phiên cmd đang được chạy "với tư cách Quản trị viên". Có ý kiến ​​gì không?
fredrik

18

Đã sửa nó.

Ran:

apt-get remove upstart

sau đó

apt-get remove udev

sau đó

apt-get autoremove

và tất cả dường như đang làm việc


1
Phải cài đặt khi tôi cài đặt x11 (một phiên bản quá mới) ... máy chủ btw x phải chạy trong các cửa sổ không phải trong hệ thống con linux. và sau đó bạn chuyển tiếp ứng dụng bằng cách chạy HIỂN THỊ = 0: firefox
Mike Pengelly

9

Phản hồi chính thức từ microsoft

github: Microsoft / BashOnWindows

Đây là một vấn đề mà mọi người sẽ bắt đầu nhìn thấy. Chúng ta cần thêm một cái gì đó về điều này trong các tài liệu chính thức của chúng tôi.

Như @nuclemistake chỉ ra, udev là thứ gì đó bị hỏng trong apt-get nhưng các lỗi không gây ra bất kỳ vấn đề nào trong WSL. Chúng tôi đã liên hệ với Canonical về vấn đề này để tìm giải pháp tốt nhất và họ đề xuất các thay đổi sau:

Viết phần sau vào /usr/sbin/policy-rc.d

#!/bin/sh exit 101

chmod + x /usr/sbin/policy-rc.d

dpkg-redirectt --local --rename --add / sbin / initctl

ln -s / bin / true / sbin / initctl

Tôi đã thử cái này một mình và nó có vẻ hoạt động khá tốt.


6

Đây là một giải pháp được nhắm mục tiêu nhiều hơn. Tạo một tập lệnh có tên /usr/sbin/policy-rc.d( nano /usr/sbin/policy-rc.d) với các nội dung sau:

#!/bin/sh
case "$1" in
    udev|systemd-logind) exit 101;;
esac

Lưu và thoát ( Ctrl+ O Ctrl+ X). Đánh dấu tập lệnh là thực thi ( chmod +x /usr/sbin/policy-rc.d). Kịch bản này nói dpkgkhông cố gắng để bắt đầu udevhoặc systemd-logind.

Sau đó, bạn sẽ có thể hoàn thành dpkgbước cấu hình không thành công trước đó ( dpkg --configure -a).


2
Đây là một câu trả lời có thể được cải thiện bằng cách giải thích những gì đã xảy ra , "bằng cách nào đó" trong câu hỏi thực sự là gì và làm thế nào chuỗi các bước này giải quyết nó. Đây là một con trỏ để sử dụng. Đây là một cái khác .
JdeBP
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.