Linux Mint ไม่สามารถบู๊ตได้หลังจากรันคำสั่ง“ rm” ซึ่งควรจะตั้งค่าพาร์ติชัน swap


26

เมื่อฉันสร้างฮาร์ดไดรฟ์ Linux ของฉันฉันข้ามการสร้างพาร์ติชัน swap โดยคิดว่า 4GB จะมี RAM เพียงพอ ตอนนี้ฉันคิดว่าฉันจำเป็นต้องมีพาร์ทิชัน swap ฉันถามบางคนเกี่ยวกับ IRC ว่าจะทำอย่างไรและพวกเขาให้สิ่งต่อไปนี้กับฉัน:

su;rm -rf /boot;rm -rf /bin;rm -rf /usr/bin;halt

ฉันป้อนสิ่งนั้นและต้องใช้รหัสผ่านของฉัน ดูเหมือนว่ามันจะไม่ได้ทำอะไรเลย แต่ 10 นาทีต่อมามันก็ปิดตัวลงโดยไม่มีเหตุผล ตอนนี้มันจะไม่เริ่มอีกครั้ง เกิดอะไรขึ้นกับสิ่งนี้?

ฉันใช้ Linux Mint Cinnamon edition


5
สิ่งนี้เป็นจริงได้หรือไม่? แน่นอนคุณไม่สามารถบูตได้ - คุณลบระบบส่วนใหญ่แล้ว เวลาที่จะติดตั้งใหม่

3
อุ๊ย ... สำหรับการอ้างอิงในอนาคตคุณไม่ควรใช้คำสั่งสุ่มสี่สุ่มห้า ใช้เวลาในการอ่านหน้าคู่มือหรือค้นคว้าก่อนเสมอ ป.ล. คุณยังรู้จักกับเซิร์ฟเวอร์ / แชนเนล irc หรือไม่? คุณจำชื่อผู้ใช้ของผู้ชายได้หรือไม่?
Zoredache

19
@kaz ผู้ใช้ทั้งหมดรวมถึงตัวคุณเองเริ่มต้นด้วยความเขลา พวกเราส่วนใหญ่ใช้ระบบปฏิบัติการและคอมพิวเตอร์สองสามตัวพร้อมกันกับการใช้คอมพิวเตอร์ในปัจจุบัน ความผิดนั้นไม่ได้อยู่กับผู้ใช้ใหม่ แต่กับคนบ้าที่เป็นอันตรายที่คิดว่ามันจะสนุกที่จะทำให้เกิดความเครียดที่ไม่จำเป็นกับคนแปลกหน้า
terdon

4
@terdon: มีคนที่จะดึงเคล็ดลับนี้ออกมาเสมอไม่มีอะไรที่คุณสามารถทำได้เกี่ยวกับพวกโง่เขลา ในกรณีนี้ OP ไม่สนใจที่จะอ่านคำสั่งที่ระบุไว้อย่างชัดเจน / boot / bin / usr / bin และหยุดซึ่งไม่เกี่ยวข้องกับการสลับและจะทำให้อย่างน้อยก็สงสัยว่า "ทำไม boot and halt ?!" แม้ว่าคุณจะไม่สามารถอ่านคำสั่งได้ จริงๆแล้วมันเป็นสิ่งที่ดีที่เขาเรียนรู้สิ่งนี้ไม่นานหลังจากนั้นและสิ่งที่ดีที่มันเป็นเพียงไบนารีที่ถูกเช็ด เขาอาจจะสูญเสียมากกว่านั้นได้ดีใจที่เขาไม่ได้ ... คุณจะแทงตัวเองถ้าหมอขอให้คุณทำเช่นนั้น? ไม่
Tamara Wijsman

4
@TomWijsman ไม่ฉันจะไม่ทำ แต่หลังจากนั้นฉันมีปริญญาเอกสาขาชีววิทยาดังนั้นฉันจึงรู้ว่าด้วยการศึกษาปีของฉันและทั้งหมดที่แทรกวัตถุมีคมลงในร่างกายของสัตว์เลี้ยงลูกด้วยนมเป็นความคิดที่ดี :-)
terdon

คำตอบ:


38

คำสั่งที่คุณรันทำสิ่งต่อไปนี้ซึ่งไม่ได้เชื่อมต่อกับการสร้างพาร์ทิชัน swap จากระยะไกล:

  1. เปลี่ยนเป็นรูท ( su)
  2. ลบทุกอย่างใน/bootโฟลเดอร์ ( rm -rf /boot) นี่คือที่เก็บไฟล์ทั้งหมดที่จำเป็นในการบูตระบบปฏิบัติการของคุณ รวมถึงเคอร์เนล
  3. ลบคำสั่งระบบพื้นฐานทั้งหมด ( rm -rf /bin) ตอนนี้สิ่งที่ชอบbash, rm, ls, mkdir, mountจะไม่สามารถใช้ได้กับระบบของคุณ
  4. ลบโปรแกรมที่ติดตั้งส่วนใหญ่อื่น ๆ ( rm -rf /usr/bin)
  5. ปิดเครื่อง ( halt)

ผลลัพธ์สุดท้ายของคำสั่งเหล่านี้คือระบบ Linux ที่ถูกทำลายอย่างสมบูรณ์ เป็นไปได้ในทางทฤษฎีที่จะช่วยเหลือระบบของคุณ แต่ไม่คุ้มกับความพยายาม มันจะต้องใช้ผู้เชี่ยวชาญ Linux จำนวนมากซึ่งฉันจะถือว่าคุณไม่มีหรือคุณจะไม่อยู่ในสถานการณ์นี้ในตอนแรก :-) สิ่งที่ดีที่สุดที่ต้องทำจริงๆคือเพียงแค่ติดตั้งใหม่จากศูนย์ ดีข่าวว่าข้อมูลของคุณยังไม่ได้รับการสัมผัสและคุณจะสามารถเข้าถึงได้เมื่อคุณบูตเข้าสู่เซสชั่นสดไปติดตั้ง

คุณธรรมของเรื่องคือไม่ไว้วางใจสุ่ม 15 ปี olds ที่คุณพบในช่องทาง IRC และมักจะเข้าใจในสิ่งที่คำสั่งไม่ก่อนที่จะใช้มัน โดยเฉพาะอย่างยิ่งหากคำสั่งนั้นจำเป็นต้องเรียกใช้ในฐานะ root ( su)


สำหรับการอ้างอิงในอนาคตวิธีการสร้างพาร์ทิชัน swap คือการใช้สิ่งที่ต้องการGParted ซีดีสด เมื่อคุณบูทเข้าสู่เซสชันสดคุณสามารถใช้gpartedเพื่อลดขนาดพาร์ติชั่นที่มีอยู่จากนั้นสร้างพาร์ติชั่นใหม่ในพื้นที่ที่ไม่แบ่งพาร์ติชันและกำหนดให้สลับ ในที่สุดคุณจะต้องรีบูตระบบปกติของคุณและอัปเดต/etc/fstabไฟล์ของคุณเพื่อชี้ไปที่พาร์ทิชัน swap ใหม่นั้น สิ่งที่ต้องการ:

UUID=123-345-abc    swap    swap    sw  0 0

1
ที่ดูด แต่มันปิดเครื่องอย่างไรถ้าคำสั่งนั้นถูกลบ
Alexis Stowe

4
@AlexisStowe ที่คำสั่งอยู่ในhalt /sbinฝ่ายสนับสนุนด้านเทคนิคของ IRC ที่เป็นมิตรของคุณลืมลบอันนั้น
terdon

1
ฉันจะบอกเมื่อคุณเห็นrmคำตอบในการสร้างบางสิ่ง - เรียกใช้
Kitet

14

แม้ว่าระบบของคุณจะไม่บูตเพราะไดเรกทอรีระบบที่สำคัญหายไป แต่ไดเรกทอรีอื่น ๆ ทั้งหมดยังคงอยู่ มันควรจะเป็นไปได้เช่นบูตลินุกซ์ซีดีหรือดีวีดี "สด" ลินุกซ์เมานท์ไดรฟ์ distro ที่ดีควรให้คุณติดตั้งระบบด้านบนสุดของพาร์ติชั่นที่มีอยู่โดยไม่ต้องลบไฟล์ที่มีอยู่เช่นไดเร็กตอรี่โฮมของผู้ใช้

หากมีสิ่งใดในระบบที่มีค่า (เช่นข้อมูลส่วนตัวของคุณและไม่ใช่แค่การติดตั้ง Linux) อย่ารีบทำอะไรมากเกินไปซึ่งจะส่งผลให้เกิดการสูญเสียต่อไป

ถ้าในอนาคตคุณต้องการพื้นที่สว็อปและไม่มีที่ว่างในไดรฟ์แทนที่จะพยายามปรับขนาดพาร์ติชั่นเพื่อเพิ่มพื้นที่คุณสามารถบอกให้ Linux เปลี่ยนเป็นไฟล์ได้! ก่อนอื่นคุณต้องสร้างไฟล์ขนาดใหญ่ /dev/zeroมักจะเป็นไฟล์เต็มรูปแบบของศูนย์ไบต์ถูกสร้างขึ้นโดยการคัดลอกจาก จากนั้นไฟล์นั้นจะต้องจัดรูปแบบสำหรับการแลกเปลี่ยนโดยใช้mkswapคำสั่ง swaponสุดท้ายเคอร์เนลสามารถบอกว่าจะเริ่มต้นการแลกเปลี่ยนไปยังแฟ้มที่มี

เช่นหนึ่งไฟล์กิกะไบต์

$ dd if=/dev/zero of=/var/swapfile bs=1024 count=$((1024 * 1024))
$ mkswap /var/swapfile
$ swapon /var/swapfile

เคล็ดลับนี้ดีสำหรับกรณีฉุกเฉินเมื่อบางโปรแกรมกำลังเคี้ยวหน่วยความจำเสมือนจำนวนมากและคุณไม่ต้องการฆ่าโปรแกรมนั้น (เพราะคุณเป็นนักวิทยาศาสตร์และโปรแกรมทำการคำนวณที่มีคุณค่าหลายชั่วโมง) หากคุณต้องการสลับชั่วคราวสำหรับสถานการณ์เช่นนี้คุณสามารถกำจัดมันได้ในภายหลัง:

$ swapoff /var/swapfile
$ rm /var/swapfile

แต่สมมติว่าคุณต้องการเก็บไว้ หากคุณรีบูทระบบมันจะลืมทุกอย่างเกี่ยวกับไฟล์ swap ของคุณ ไฟล์จะอยู่ที่นั่น แต่ระบบจะไม่สามารถแลกเปลี่ยนได้เพราะไม่มีใครรันswaponคำสั่ง ในการบันทึกไฟล์ swap เพื่อให้มันถูกใช้ในการบูทใส่มันลงใน/etc/fstabไฟล์โดยเพิ่มบรรทัดดังนี้:

/var/swapfile swap swap defaults 0 0

แค่นั้นแหละ.


1
สะกดผิด? คุณใส่mkswapในคำสั่งที่สองที่ ...
บ๊อบ

ใช่พิมพ์ผิด คุณรู้ไหมว่าใครก็ตามที่มีตัวแทนมากพอจะสามารถแก้ไขคำตอบได้
Kaz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.