如何在尝试在笔记本电脑上安装Fedora时解决System.OutOfMemoryException问题?

时间:2016-01-31 15:58:48

标签: linux powershell installation operating-system fedora

我正在我的笔记本电脑上安装Fedora Live Workstation,我被困在步骤"3.3.1. Verifying checksums on Windows systems" item "5.Calculate the downloaded image's checksum. This will take a while!"上。 Windows PowerShell不断抛出以下异常:

$download_checksum = [System.BitConverter]::ToString($sha256.ComputeHash([System.IO.File]::ReadAllBytes("$PWD\$image"))).ToLower() -replace '-', ''
Eccezione durante la chiamata di "ReadAllBytes" con "1" argomento/i: "Generata eccezione di tipo 'System.OutOfMemoryException'." 
(Exception during the call of "ReadAllBytes" with "1" argument:"Generate exception type 'System.OutOfMemoryException'.")
In riga:1 car:104 (In line:1 char:104)
+ $download_checksum = [System.BitConverter]::ToString($sha256.ComputeHash([System.IO.File]::ReadAllBytes <<<< ("$PWD\$image"))).ToLower() -replace '-', ''
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException

我不熟悉Windows Powershell而不是一个非常熟练的程序员,但为了解决这个问题,我提出了一些假设。如果他们不相关,请纠正我。

  1. 如果此异常的原因是硬件(例如,RAM内存不足以处理计算),是否有任何变通方法可以将计算拆分为较小的步骤,从而允许计算机处理较小的信息块?

  2. 在将指令调整到PowerShell中时,由于编译错误,解释器是否有可能溢出?

  3. 一些重要信息可能是:

    • 操作系统:Windows 7 Professional SP 1处理器:Intel(R)Core(TM)i5 CPU M 520 @ 2.40GHz 2.40GHz
    • RAM:3,00GB(2,86GB有用)
    • 操作系统类型:64位
    • HD可用:94,6 GB

2 个答案:

答案 0 :(得分:2)

不要将整个文件读入内存。这样做:

$filename = Join-Path $PWD $image

$sha256 = New-Object Security.Cryptography.SHA256CryptoServiceProvider

$stream = (Get-Item $filename).OpenRead()
$hash = $sha256.ComputeHash($stream)
$stream.Close()

$download_checksum = [BitConverter]::ToString($hash).ToLower() -replace '-'

答案 1 :(得分:0)

似乎MS没有良好的内存管理。校验和验证是可选的,窗口方式太复杂了。

  

如果此异常的原因是硬件(例如,RAM内存不足以处理计算),是否有任何变通方法可以将计算拆分为较小的步骤,从而允许计算机处理较小的信息块?

不知道任何合理的方式。

我会通过刻录iso来解决这个问题(相信没有错误),启动到live-CD并在Linux下进行校验和,这太简单了。