def METHOD_NAME(up_user, root_vmxml):
    """
    Prepare vmxml for unprivileged user from vm of root user
    :param up_user: unprivileged user's name
    :param root_vmxml: vmxml of root user
    :return: vmxml instance for unprivileged user
    """
    # Create vm as unprivileged user
    LOG.info('Create vm as unprivileged user')
    upu_vmxml = root_vmxml.copy()
    upu_vmxml.vm_name = 'vm_' + up_user
    upu_vmxml.del_uuid()
    # Prepare vm for unprivileged user
    xml_devices = upu_vmxml.devices
    disks = xml_devices.by_device_tag("disk")
    for disk in disks:
        ori_path = disk.source['attrs'].get('file')
        if not ori_path:
            continue
        file_name = ori_path.split('/')[-1]
        new_disk_path = f'/home/{up_user}/{file_name}'
        LOG.debug(f'New disk path: {new_disk_path}')
        # Copy disk image file and chown to make sure that
        # unprivileged user has access
        shutil.copyfile(ori_path, new_disk_path)
        shutil.chown(new_disk_path, up_user, up_user)
        # Modify xml to set new path of disk
        disk_index = xml_devices.index(disk)
        xml_devices[disk_index].setup_attrs(
            **{'source': {'attrs': {'file': new_disk_path}}})
        LOG.debug(xml_devices[disk_index].source)
    upu_vmxml.devices = xml_devices
    # Remove nvram tag of os to avoid permission issue
    os_xml = upu_vmxml.os
    os_xml.del_nvram()
    upu_vmxml.os = os_xml
    return upu_vmxml