סיפור אמיתי מלילה אחד: torch על Windows קרס שלוש פעמים באותה שורה בטעינת קובץ של 26GB - בשלוש גרסאות שונות, על קובץ שאומת ב-hash. הפתרון לא היה חומרה חדשה אלא WSL2: אותה מכונה, אותו כרטיס מסך, מערכת הפעלה שנייה שרצה לצד הראשונה.
Windows Subsystem for Linux הוא לינוקס אמיתי - קרנל אמיתי, Ubuntu אמיתית - שרץ בתוך מכונה וירטואלית קלה שמנוהלת על ידי Windows. לא dual-boot (אין ריסטארט לעבור), לא אמולציה (מהירות כמעט מלאה), לא החלפה של כלום.
שני עולמות, גשר ביניהם: מהלינוקס רואים את הדיסקים של Windows תחת /mnt/c,
/mnt/d - ומ-Windows מריצים פקודות לינוקס עם wsl.
torch_cpu.dll - ב-torch 2.6, 2.7.1 ו-2.8, עם ובלי כל דגל אפשרי. הקובץ עצמו תקין
(SHA-256 אומת מול המקור). באג בבילד של torch ל-Windows, בלתי עביר מבחוץ.שלושה שלבים. שימו לב לשלב 2 - המלכודת שרוב המדריכים לא מזכירים.
# 1 · הפעלת הרכיבים (PowerShell כמנהל) + ריסטארט dism /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart shutdown /r /t 5 # 2 · המלכודת: wsl.exe המובנה הוא סטאב שדורש חלון אינטראקטיבי. # בהתקנה מרחוק/סקריפט - מתקינים את חבילת ה-MSI האמיתית מגיטהאב: # github.com/microsoft/WSL/releases → wsl.x.x.x.x64.msi msiexec /i wsl_setup.msi /qn # 3 · התקנת Ubuntu (בלי חלון, בלי חנות) wsl --install -d Ubuntu --no-launch
| מה רוצים | איך |
|---|---|
| טרמינל לינוקס | wsl -d Ubuntu |
| פקודה בודדת | wsl -d Ubuntu -- ls /root |
| סקריפט שלם | wsl -d Ubuntu -- bash /mnt/d/script.sh |
| קבצי Windows מהלינוקס | /mnt/c/… · /mnt/d/… |
| קבצי לינוקס מ-Windows | \\wsl$\Ubuntu\root\… בסייר הקבצים |
| כיבוי מלא (משחרר RAM/GPU) | wsl --shutdown |
bash /mnt/d/x.sh - אף פעם
לא שרשרת מירכאות.ברירת המחדל של WSL: חצי מה-RAM. לטעינת מודל ענק זה לא מספיק - הקובץ של
C:\Users\<you>\.wslconfig שולט במשאבים:
[wsl2] memory=26GB # כמה RAM ה-VM מקבל swap=40GB # קובץ החלפה - גולש לדיסק כשנגמר swapFile=D:\\wsl_swap.vhdx
(אחרי שינוי: wsl --shutdown כדי שייכנס לתוקף.)
/mnt/d (פרוטוקול 9p) לא יודע
לעשות memory-map לקבצים ענקיים. טעינת 26GB דרכו נכשלת - הפתרון: קריאה רגילה לזיכרון
(read) במקום mmap, או העתקת הקובץ לדיסק הפנימי של הלינוקס.setx WSLENV HF_TOKEN/u - ומאותו רגע כל סשן WSL רואה את המשתנה.| Windows native | WSL2 על אותה מכונה | |
|---|---|---|
| טעינת המודל | segfault ×3 | עוברת |
| אימון LoRA | בלתי אפשרי | 26 שנ׳/צעד, 200MB מרווח VRAM |
| עלות | - | 0 ₪ · שעתיים התקנה |
ComfyUI והסטודיו ממשיכים לרוץ על ה-Windows כרגיל; הלינוקס מתעורר רק לאימון, לוקח את ה-GPU לכמה שעות, ומחזיר. מכונה אחת, שני עולמות, אפס פשרות.