Score:1

ติดตั้ง 20.04 สำหรับ wsl2 หาก Microsoft Store ใช้งานไม่ได้

ธง id

มีวิธีใดในการติดตั้ง 20.04 เพื่อใช้กับ wsl2 ที่ ไม่ ขึ้นอยู่กับ Microsoft Store (หรือ Add-AppxPackage) ทำงานหรือไม่

สาเหตุ: Microsoft Store และ Add-AppxPackage ใช้งานไม่ได้ในคอมพิวเตอร์ของฉัน ความพยายามที่จะแก้ไขไม่สำเร็จ และวิธีแก้ปัญหาเดียวของ Microsoft คือ "ติดตั้ง Windows ใหม่" เพราะไม่มีทางที่จะสร้างใหม่ หรือถอนการติดตั้งและติดตั้ง Store ใหม่ด้วยตัวเอง คนอื่น ๆ ได้ค้นพบแล้วว่า Add-AppxPackage ไม่ใช่ช่องโหว่ในการหลีกเลี่ยง Microsoft Store ที่เสียหาย


บังเอิญฉันพยายามดาวน์โหลดแล้วโดยเรียกใช้:

เรียกใช้ WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing
เพิ่ม AppxPackage .\Ubuntu.appx

ขออภัย นี่คือข้อความแสดงข้อผิดพลาดที่ฉันได้รับ:

Add-AppxPackage: การปรับใช้ล้มเหลวด้วย HRESULT: 0x80073CF3, แพ็คเกจการอัปเดตล้มเหลว การพึ่งพาหรือข้อขัดแย้ง
การตรวจสอบ
การปรับใช้เพิ่มการดำเนินการกับไดรฟ์ข้อมูลเป้าหมาย C: บนแพ็คเกจ
CanonicalGroupLimited.Ubuntu20.04onWindows_2004.2020.424.0_x64__79rhkp1fndgsc จาก: (Ubuntu.appx) ล้มเหลวโดยมีข้อผิดพลาด
0x80073CF3. ดู http://go.microsoft.com/fwlink/?LinkId=235160 สำหรับความช่วยเหลือในการวินิจฉัยปัญหาการปรับใช้แอป
หมายเหตุ: สำหรับข้อมูลเพิ่มเติม ให้มองหา [ActivityId] 014ee586-6a11-0004-ce43-5001116ad701 ในบันทึกเหตุการณ์หรือใช้
บรรทัดรับคำสั่ง Get-AppPackageLog -ActivityID 014ee586-6a11-0004-ce43-5001116ad701
ที่บรรทัด:1 ตัวอักษร:1
+ เพิ่ม AppxPackage .\Ubuntu.appx
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : WriteError: (D:\Downloads\Ubuntu.appx:String) [Add-AppxPackage], IOException
    + FullyQualifiedErrorId : DeploymentError,Microsoft.Windows.Appx.PackageManager.Commands.AddAppxPackageCommand

หากคุณค้นหาข้อความแสดงข้อผิดพลาดใน EventViewer ท้ายที่สุดข้อความเหล่านี้จะกลายเป็น "ไฟล์ XML ที่ Microsoft Store ต้องการถูกลบไปแล้ว และไม่มีทางกู้คืนได้หากไม่ได้ติดตั้ง Store ใหม่ด้วยการติดตั้ง Windows ใหม่" :-(

อย่างไรก็ตาม ฉันไม่คาดหวังให้ใครที่นี่ช่วยวินิจฉัย Microsoft Store ฉันแค่หวังว่าจะมีวิธีอื่นในการติดตั้ง Ubuntu 20.04 สำหรับ WSL2 ที่ไม่ได้ ความต้องการ Windows Store ให้ใช้งานได้

in flag
WSL2 เป็นข้อกำหนดที่สมบูรณ์หรือไม่ เครื่องเสมือนจะเป็นตัวเลือกที่ทำงานได้หรือไม่?
Bitbang3r avatar
id flag
ฉันคิดว่าฉันสามารถใช้ VirtualBox ได้ถ้าจำเป็น เดิมทีฉันเริ่มใช้ wsl (ไม่ใช่ 2) เนื่องจากประสิทธิภาพของ Docker นั้นดีกว่ามาก (อย่างน้อยก็สำหรับสิ่งเล็กๆ น้อยๆ ที่เวลาเริ่มต้นคิดเป็นส่วนใหญ่หรือส่วนใหญ่ของเวลาทั้งหมด) เมื่อเปิดใช้งาน wsl (และโดยปริยาย Hyper-V) VirtualBox จะไม่สามารถใช้งานได้อย่างสมบูรณ์ ต่อมา เมื่อฉันกลับมาสร้าง AOSP ฉันเปลี่ยนเป็น wsl2 เพื่อให้สามารถเรียกใช้ xfce และ DDD ผ่าน VcXsrv ในที่สุดฉันก็ได้ VirtualBox เวอร์ชันล่าสุดที่จะไม่ตายเมื่อบูท Linux ด้วย HyperV ที่ใช้งานอยู่ แต่ประสิทธิภาพนั้นแย่มาก
Bitbang3r avatar
id flag
ตอนนี้ฉันไม่สามารถใช้ wsl(2) *at all* อย่างมีความหมายได้จนกว่าฉันจะติดตั้ง Windows ใหม่หรือ Microsoft ทำงานร่วมกันและหาวิธีที่เหมาะสมในการแก้ไขการติดตั้ง Store ที่เสียหาย ฉันคิดว่าฉันอาจปิดการใช้งาน wsl และ อย่างน้อย HyperV ดังนั้น VirtualBox จะทำงานได้อย่างถูกต้องอีกครั้ง ถอนหายใจ
NotTheDr01ds avatar
vn flag
ดูเหมือนว่าคุณได้ทำการหาข้อมูลแล้ว และฉันรู้ว่าคุณบอกว่าคุณไม่ได้ต้องการความช่วยเหลือในการซ่อมแซม Store แต่คุณอาจต้องการลองถามเกี่ยวกับเรื่องนี้อีกครั้งใน [Super User](https://superuser.com ). "การซ่อมแซม" จะทำงานบน Windows แทนการติดตั้งใหม่ทั้งหมดหรือไม่ แม้ในระหว่างการติดตั้งแบบเต็ม ก็ยังมีตัวเลือกในการเก็บไฟล์และแอพของผู้ใช้
Score:1
ธง vn

ตราบใดที่คุณติดตั้ง WSL ไว้แล้ว (ซึ่งไม่ได้ขึ้นอยู่กับ Store ดังนั้นจึงไม่น่ามีปัญหา) คุณสามารถใช้ wsl -- นำเข้า คำสั่งย่อยเพื่อรับการแจกจ่าย Ubuntu "โหลดด้านข้าง"

แพคเกจที่คุณดาวน์โหลดแล้วมีไฟล์ที่คุณต้องการ แต่เพื่อประโยชน์ในการปรับปรุงเส้นทาง ฉันจะให้คุณดาวน์โหลดอีกครั้ง คุณสามารถปรับแต่งสูตรนี้ได้หากต้องการ:

  • ขั้นแรก เลือกตำแหน่งสำหรับไฟล์ WSL ของคุณ ตัวอย่างเช่น:

    ซีดี $env:USERPROFILE
    mkdir -p wsl\instances\Ubuntu20_04
    mkdir wsl\รูปภาพ
    ซีดี ดับเบิลยูเอสแอล
    
  • ดาวน์โหลดแพ็คเกจ Appx ลงในนั้นด้วยตนเอง wsl ไดเร็กทอรีไม่ว่าจะผ่านลิงก์โดยตรงที่เหมาะสม ที่นี่ หรือในกรณีของคุณผ่านทาง:

    # สมมติว่าเรายังอยู่ในไดเร็กทอรี `wsl` ที่สร้างขึ้นด้านบน
    เรียกใช้ WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing 
    
  • ไฟล์ผลลัพธ์เป็นเพียงการเปลี่ยนชื่อเท่านั้น .zip ไฟล์. แตกไฟล์ใน PowerShell แล้วย้ายไฟล์ install.tar.gz ไปที่ ภาพ ไดเร็กทอรีที่สร้างขึ้นด้านบน:

    # ยังอยู่ในไดเร็กทอรี `wsl`
    ขยายไฟล์เก็บถาวร Ubuntu.appx
    mv Ubuntu\install.tar.gz ภาพ\
    Remove-Item -Recurse Ubuntu
    
  • คุณจะต้องแตกไฟล์ install.tar.gz ไฟล์ไปที่ ติดตั้ง.tar. ทั้ง PowerShell และ Windows ไม่มีฟีเจอร์ในตัวที่จะทำเช่นนี้ ดังนั้นฉันจะปล่อยให้เป็นไปตามที่คุณต้องการ ฉันเดาว่าคุณมีบางอย่างเช่น 7-zip ติดตั้งอยู่แล้ว

  • เปลี่ยนชื่อ รูปภาพ \ install.tar ถึง รูปภาพ\Ubuntu20_04.tar. สิ่งนี้ไม่จำเป็นอย่างยิ่ง แต่ฉันต้องการเก็บภาพ "ดั้งเดิม" ไว้ในกรณีที่คุณต้องการติดตั้งอินสแตนซ์เพิ่มเติม WSL นั้นยอดเยี่ยมสำหรับการปั่นอินสแตนซ์ "ทิ้ง" ซึ่งคุณสามารถลองบางสิ่งที่อาจทำลายได้โดยไม่ต้องกลัวว่าจะทำให้อินสแตนซ์หลักของคุณเสียหาย

  • ยังคงมาจากภายใน wsl ไดเรกทอรี:

    wsl --import Ubuntu20.04 อินสแตนซ์\Ubuntu20_04 ภาพ\Ubuntu20_04.tar --version 2
    wsl --set-default Ubuntu20.04 # เป็นทางเลือกและอาจไม่จำเป็นหากเป็นการติดตั้งการแจกจ่ายครั้งแรก
    wsl -u root useradd --create-home --user-group --groups adm,dialout,cdrom,floppy,sudo,audio,dip,video,plugdev,netdev --password "encryptedPassword" ชื่อผู้ใช้
    

    ...ปรับแน่นอน ชื่อผู้ใช้ เพื่อเป็นชื่อผู้ใช้ของคุณ ดู ที่นี่ สำหรับวิธีการสร้างรหัสผ่านที่เข้ารหัส

    เท่าที่ฉันรู้ สิ่งนี้จะสร้างผู้ใช้ในลักษณะเดียวกับที่ผู้ใช้เริ่มต้นสร้างขึ้นโดยการติดตั้ง Microsoft Store ของ Ubuntu 20.04

  • เริ่ม WSL Ubuntu ในฐานะรูท:

    wsl -u รูต
    
  • หากต้องการตั้งค่าผู้ใช้เริ่มต้นที่ทำงานเมื่ออินสแตนซ์เริ่มต้น ให้สร้าง /etc/wsl.conf โดยมีเนื้อหาดังนี้

    [ผู้ใช้]
    ค่าเริ่มต้น = ชื่อผู้ใช้
    

    ... แทนที่ชื่อผู้ใช้ของคุณแน่นอน

  • ออกจาก PowerShell

  • ปิดอินสแตนซ์เพื่อให้กลับมาและอ่าน wsl.conf:

    wsl --terminate Ubuntu20.04
    

นั่นควรจะเป็น วิ่ง wsl ควรเริ่ม Ubuntu 20.04 ที่ทำงานภายใต้ ID ผู้ใช้ของคุณ

ฉันไม่มีโอกาสทดสอบทุกขั้นตอนตั้งแต่ต้นจนจบ แต่นี่คือการรวมกันของสิ่งที่ฉันเคยทำในอดีตและคำตอบอื่น ๆ ที่ฉันให้ไว้ ฉันเชื่อว่าฉันได้รวบรวมชิ้นส่วนทั้งหมดที่คุณต้องการแล้ว แต่หากคุณพบปัญหา โปรดแจ้งให้เราทราบ แล้วฉันจะตรวจสอบและปรับแต่ง

neogeomat avatar
br flag
สวัสดี ขั้นตอนทำงานได้ดี เมื่อพยายามเข้าสู่ระบบด้วย "wsl -u username" มันให้ข้อผิดพลาด "-sh: 6: ส่งออก: (x86)/Common: ชื่อตัวแปรที่ไม่ดี"
NotTheDr01ds avatar
vn flag
@neogeomat แล้วไม่ต้องทำอะไรอีก? ฉันเพิ่งเห็นคนอื่นที่มีข้อผิดพลาดนั้นเมื่อเร็วๆ นี้ ฉันค่อนข้างแน่ใจว่าปัญหาเกิดจากสคริปต์ที่ทำงานผ่าน `sh` (ไม่ใช่ `bash`) ซึ่งไม่ได้อ้างอิงตัวแปร `"$PATH"` อย่างถูกต้อง ดู [คำตอบนี้](https://askubuntu.com/a/1355022/1165986) สำหรับรายละเอียดเพิ่มเติม
Score:-3
ธง de

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

วันนี้ฉันยังสามารถค้นหาคำอธิบายที่ดีที่สุดสำหรับคำถามหลักของคุณ หากไม่ได้ถูกคัดลอกโดยคนอื่นที่นี่ เนื่องจากเป็นโพสต์ที่เก่ากว่า: https://superuser.com/questions/1271682/is-there-a-way-of-installing-ubuntu-windows-subsystem-for-linux-on-win10-v170 อย่างที่แล้วแม้แต่ MS ก็จัดทำเอกสารทั้งหมดนี้: https://docs.microsoft.com/en-us/windows/wsl/install-manual

หวังว่าโพสต์ของฉันจะลดจำนวน downvotes ตอนนี้ ..

NotTheDr01ds avatar
vn flag
ยินดีต้อนรับสู่ถาม Ubuntu มีเหตุผลสองสามประการที่ทำให้คุณได้รับการโหวตลดลง ขั้นแรก "คำตอบ" ดั้งเดิมของคุณ (ย่อหน้าแรกปัจจุบัน) เป็นเพียงลิงก์เพื่อพยายามช่วยแก้ปัญหาที่ผู้โพสต์ต้นฉบับกล่าวว่า *ไม่* พยายามแก้ไข เนื่องจากไม่เกี่ยวข้องกับคำถามจริงจึงสมควรได้รับการแสดงความคิดเห็น (อย่างที่ฉันทำในหัวข้อนั้นภายใต้คำถามหลัก) ฉันทราบดีว่า ในฐานะผู้ใช้ใหม่ คุณไม่มีชื่อเสียงในการแสดงความคิดเห็น และนั่นเป็นไปตามการออกแบบ เมื่อคุณถามหรือตอบคำถามอย่างมีความรับผิดชอบ คุณจะได้รับสิทธิพิเศษนี้
NotTheDr01ds avatar
vn flag
ประการที่สอง คำตอบสำหรับลิงก์เท่านั้นจะขมวดคิ้วอย่างมากที่นี่ (และน่าจะเป็นสาเหตุเพิ่มเติมของการลงคะแนนเสียง) อย่างน้อยสรุปลิงก์ที่คุณให้ไว้ แต่อย่างที่คุณพูด * ส่วนใหญ่ * ซ้ำกับสิ่งที่ฉันโพสต์ (แม้ว่าจะมีประโยชน์อยู่บ้างสำหรับความแตกต่างในคำตอบของ Super User) และอย่างที่ทราบกันดีว่า ไม่ ฉันไม่ได้คัดลอกคำตอบนั้น -- ฉันคิดคำตอบได้ผ่านการทำความเข้าใจกระบวนการจริงๆ และฉันแน่ใจว่าได้ทดสอบแต่ละขั้นตอนของคำตอบเพื่อให้แน่ใจว่านำไปใช้กับ *สิ่งนี้* โดยเฉพาะ คำถามอย่างถูกต้อง ถึงกระนั้น เมื่อมองย้อนกลับไป คำตอบของฉันอาจง่ายขึ้น
PeterG avatar
de flag
สวัสดี ขอขอบคุณสำหรับความคิดเห็นของคุณ ซึ่งฉันอาจยอมรับได้มากหรือน้อย นอกจากนี้ยังระบุว่านี่เป็นระดับเริ่มต้นของฉัน ถึงกระนั้นฉันก็ไม่รู้ว่าเหตุใดวิธีแก้ปัญหาโดยตรงสำหรับสิ่งที่เห็นได้อย่างชัดเจนอื่นๆ ที่พลาดไปจึงถูกลดคะแนนลง และการมีส่วนร่วมส่วนบุคคลที่มีความยาวนั้นทำได้ยอดเยี่ยมเหนือข้อมูลผู้ขายโดยตรงในหัวข้อ (จัดส่งในภายหลัง) อย่างไรก็ตาม ฉันต้องการแบ่งปันสิ่งที่ฉันมีประสบการณ์ใหม่ ๆ เช่นเดียวกับการให้เครดิตกับโลกที่ยอดเยี่ยมของ S.E. ฉันได้รับแรงบันดาลใจหลายครั้งจนถึงปัจจุบัน ด้วยความเคารพในทักษะและความลุ่มลึกของคุณ ฉันจะไม่ไปถึงจุดนั้นเพียงแค่ชีวิตเกิดขึ้น ขอให้มีความสุข!

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา